Skip to content
Snippets Groups Projects
Commit a504cc87 authored by Sergei Zharko's avatar Sergei Zharko Committed by Sergey Gorbunov
Browse files

Update

parent 842def42
No related branches found
No related tags found
1 merge request!1324CaCore: A library for the CA tracking core in cbm::algo::namespace
......@@ -49,7 +49,6 @@ set(SRCS
global/Reco.cxx
qa/DigiEventQa.cxx
qa/Histo1D.cxx
ca/TrackingChain.cxx
)
set(BUILD_INFO_CXX ${CMAKE_CURRENT_BINARY_DIR}/base/BuildInfo.cxx)
......@@ -81,10 +80,6 @@ target_include_directories(Algo
${CMAKE_CURRENT_SOURCE_DIR}/unpack
${CMAKE_CURRENT_SOURCE_DIR}/detectors
${CMAKE_CURRENT_SOURCE_DIR}/qa
${CMAKE_CURRENT_SOURCE_DIR}/ca
${CMAKE_CURRENT_SOURCE_DIR}/ca/core
${CMAKE_CURRENT_SOURCE_DIR}/ca/core/data
${CMAKE_CURRENT_SOURCE_DIR}/ca/core/simd
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/core/data/global
)
......@@ -134,7 +129,6 @@ install(DIRECTORY detectors/sts TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors/tof TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors/trd TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY detectors/trd2d TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY ca TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
#install(DIRECTORY ca/data TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
......@@ -145,11 +139,6 @@ install(
base/Options.h
base/RecoParams.h
base/SubChain.h
ca/TrackingChain.h
#ca/simd/CaSimd.h
#ca/simd/CaSimdVc.h
#ca/simd/CaSimdPseudo.h
#ca/data/CaTrack.h
global/Reco.h
DESTINATION
include/
......
/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Sergei Zharko [committer] */
/// @file TrackingChain.cxx
/// @date 14.09.2023
/// @brief A chain class to execute CA tracking algorithm in online reconstruction (implementation)
/// @author S.Zharko <s.zharko@gsi.de>
#include "TrackingChain.h"
using cbm::algo::TrackingChain;
using cbm::algo::ca::Track;
// ---------------------------------------------------------------------------------------------------------------------
//
void TrackingChain::Init() { fTracking.Init(); }
// ---------------------------------------------------------------------------------------------------------------------
//
std::vector<Track> TrackingChain::Run(const RecoResults& recoResults)
{
std::vector<Track> vRecoTracks;
return vRecoTracks;
}
// ---------------------------------------------------------------------------------------------------------------------
//
void TrackingChain::Finalize() {}
/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Sergei Zharko [committer] */
/// @file TrackingChain.h
/// @date 13.09.2023
/// @brief A chain class to execute CA tracking algorithm in online reconstruction (header)
/// @author S.Zharko <s.zharko@gsi.de>
#ifndef CBM_ALGO_CA_TRACKING_CHAIN
#define CBM_ALGO_CA_TRACKING_CHAIN 1
#include <vector>
#include "CaTrack.h"
#include "CaTrackingDemo.h"
#include "RecoResults.h"
#include "SubChain.h"
namespace cbm::algo
{
/// @class cbm::algo::TrackingChain
/// @brief A chain for tracking algorithm
///
/// The class executes a tracking algorithm in the online data reconstruction chain.
class TrackingChain : public SubChain {
public:
/// @brief Provides action in the initialization of the run
void Init();
/// @brief Provides action for a given time-slice
/// @return A vector of cbm::algo::ca::Track
std::vector<ca::Track> Run(const RecoResults& recoResults);
/// @brief Provides action in the end of the run
void Finalize();
private:
ca::TrackingDemo fTracking; ///< Tracking algorithm
};
} // namespace cbm::algo
#endif // CBM_ALGO_CA_TRACKING_CHAIN
set(INCLUDE_DIRECTORIES
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/simd
${CMAKE_CURRENT_SOURCE_DIR}/pars
${CMAKE_CURRENT_SOURCE_DIR}/data
)
set(SRCS
${CMAKE_CURRENT_SOURCE_DIR}/CaTrackingDemo.cxx
${CMAKE_CURRENT_SOURCE_DIR}/data/CaTrack.cxx
)
add_library(CaCore SHARED ${SRCS})
......@@ -13,6 +14,7 @@ add_library(CaCore SHARED ${SRCS})
target_include_directories(CaCore
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/data
${CMAKE_CURRENT_SOURCE_DIR}/simd
${CMAKE_CURRENT_SOURCE_DIR}/pars
${CMAKE_CURRENT_SOURCE_DIR}
)
......@@ -29,10 +31,10 @@ target_link_libraries(CaCore
install(TARGETS CaCore DESTINATION lib)
install(DIRECTORY simd TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY data TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(DIRECTORY pars TYPE INCLUDE FILES_MATCHING PATTERN "*.h")
install(
FILES
CaTrackingDemo.h
data/CaTrack.h
simd/CaSimd.h
simd/CaSimdVc.h
......
/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Sergei Zharko [committer] */
/// @file CaTrackingDemo.h
/// @date 14.09.2023
/// @brief A demonstration dummy class for tracking algorithm (implementation)
/// @author S.Zharko <s.zharko@gsi.de>
#include "CaTrackingDemo.h"
#include "log.hpp"
using cbm::algo::ca::TrackingDemo;
using cbm::algo::ca::TrackingMonitorData;
// ---------------------------------------------------------------------------------------------------------------------
//
void TrackingDemo::Init() { L_(info) << "TrackingDemo::Init is called"; }
// ---------------------------------------------------------------------------------------------------------------------
//
void TrackingDemo::Execute() {}
// ---------------------------------------------------------------------------------------------------------------------
//
void TrackingDemo::Finilize() {}
/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Sergei Zharko [committer] */
/// @file CaTrackingDemo.h
/// @date 13.09.2023
/// @brief A demonstration dummy class for tracking algorithm (header)
/// @author S.Zharko <s.zharko@gsi.de>
#ifndef CBM_ALGO_CA_TRACKING_DEMO
#define CBM_ALGO_CA_TRACKING_DEMO 1
#include <sstream>
#include <utility>
namespace cbm::algo::ca
{
/// @struct cbm::algo::ca::TrackingMonitorData
/// @brief Monitor class for tracking
struct TrackingMonitorData {
int fNumHits = 0;
int fNumTracks = 0;
std::string print() const
{
std::stringstream msg;
msg << "Tracking statistics: \n";
msg << "\t- number of hits: " << fNumHits << '\n';
msg << "\t- number of tracks: " << fNumTracks;
return msg.str();
}
};
/// @class cbm::algo::ca::TrackingDemo
/// @brief Dummy tracking class to address all the needs for the CA tracking execution [to be replaced later]
class TrackingDemo {
public:
void Init();
void Execute();
void Finilize();
};
} // namespace cbm::algo::ca
#endif // CBM_ALGO_CA_TRACKING_DEMO
/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Sergei Zharko [committer] */
#include "CaTrack.h"
......@@ -8,7 +8,6 @@
#include <vector>
#include "CaTrack.h"
#include "RecoResultsDescriptor.h"
class CbmStsDigi;
......@@ -30,13 +29,10 @@ namespace cbm::algo
const RecoResultsDescriptor& Descriptor() const { return fDescriptor; }
const std::vector<CbmDigiEvent>& Events() const { return fEvents; }
std::vector<CbmDigiEvent>& Events() { return fEvents; }
const std::vector<ca::Track>& Tracks() const { return fTracks; }
std::vector<ca::Track>& Tracks() { return fTracks; }
private:
RecoResultsDescriptor fDescriptor;
std::vector<CbmDigiEvent> fEvents;
std::vector<ca::Track> fTracks;
friend class boost::serialization::access;
......@@ -46,7 +42,6 @@ namespace cbm::algo
void serialize(Archive& ar, const unsigned int /*version*/)
{
ar& fEvents;
ar& fTracks;
}
};
} // namespace cbm::algo
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment