32#include "TClonesArray.h"
38 template<
typename DataT>
153 template<ca::EDetectorID DetID>
Input-output data manager for L1 tracking algorithm.
Compile-time constants definition for the CA tracking algorithm.
CA Tracking performance interface for CBM (header)
Implementation of L1DetectorID enum class for CBM.
ECbmCaTrackingMode
Enumeration for different tracking running modes.
@ kSTS
Local tracking in CBM (STS + MVD), results stored to the StsTrack branch.
Class for pixel hits in MUCH detector.
Data class for a reconstructed hit in the STS.
Class for hits in TRD detector.
Class characterising one event by a collection of links (indices) to data objects,...
Bookkeeping of time-slice content.
A manager for the input-output data of the CA tracking algorithm.
A container for all external parameters of the CA tracking algorithm.
A reader of time slice for CA tracker.
TClonesArray * fpBrTrdTracks
Input branch for reconstructed TRD tracks ("TrdTrack")
ca::Vector< CbmL1Track > * fpvTracks
Pointer to array of reconstructed tracks.
void SetTrackingMode(ECbmCaTrackingMode mode)
Sets the tracking mode.
int fFirstHitKey
First index of hit key for the detector subsystem.
void ReadRecoTracks()
Reads reconstructed tracks.
std::shared_ptr< ca::DataManager > fpIODataManager
Pointer to input data manager.
void ReadHits()
Reads hits.
const auto & GetHitFirstIndexDet() const
Gets reference to container of first hit indexes in a detector subsystem.
void RegisterHitIndexContainer(ca::Vector< CbmL1HitId > &vHitIds)
Registers hit index container.
void RegisterParameters(std::shared_ptr< ca::Parameters< float > > &pParameters)
Registers CA parameters object.
void StoreHitRecord(const tools::HitRecord &hitRecord)
Saves hit to data structures.
int GetNofHits(ca::EDetectorID iDet) const
Gets number of hits stored for a given detector.
void SetSortQaHits(bool doSortQaHits)
Sets flag to additionally sort QA hits by stations.
TClonesArray * fpBrRecoTracks
Input branch for reconstructed tracks ("GlobalTrack", "StsTrack")
TimeSliceReader(TimeSliceReader &&)=delete
Move constructor.
~TimeSliceReader()=default
Destructor.
TClonesArray * fpBrTofTracks
Input branch for reconstructed TOF tracks ("TofTrack")
TClonesArray * fpBrStsTracks
Input branch for reconstructed STS tracks ("StsTrack")
int fNofHitKeys
Recorded number of hit keys.
DetIdArr_t< bool > fvbUseDet
Flag: is detector subsystem used.
DetIdArr_t< TClonesArray * > fvpBrHits
Input branch for hits.
void ReadEvent(CbmEvent *pEvent=nullptr)
Reads time slice.
void SortQaHits()
Sorts QA hit objects by stations.
ECbmCaTrackingMode fTrackingMode
Tracking mode.
TimeSliceReader(const TimeSliceReader &)=delete
Copy constructor.
std::array< int, constants::size::MaxNdetectors+1 > fvHitFirstIndexDet
First hit index in detector.
DetIdArr_t< int > fvNofHitsUsed
Number of used hits in detector.
CbmEvent * fpEvent
Pointer to the event object.
TClonesArray * fpBrMuchTracks
Input branch for reconstructed MuCh tracks ("MuchTrack")
void SetDetector(ca::EDetectorID detID, bool flag=true)
Sets used detector subsystems.
std::shared_ptr< ca::Parameters< float > > fpParameters
Pointer to tracking parameters object.
ca::Vector< CbmL1HitDebugInfo > * fpvQaHits
Pointer to array of debug hits.
TimeSliceReader & operator=(TimeSliceReader &&)=delete
Move assignment operator.
DetIdArr_t< const CbmTrackingDetectorInterfaceBase * > fvpDetInterface
Pointers to the tracking detector interfaces for each subsystem.
int ReadHitsForDetector()
Reads hits for a given detector subsystem.
int fNofHits
Stored number of hits.
void RegisterQaHitContainer(ca::Vector< CbmL1HitDebugInfo > &vQaHits)
Registers hit debug info container.
void RegisterIODataManager(std::shared_ptr< ca::DataManager > &ioDataManager)
Registers the CA IO data manager instance.
ECbmCaTrackingMode GetTrackingMode() const
Gets CBM tracking mode.
TimeSliceReader & operator=(const TimeSliceReader &)=delete
Copy assignment operator.
DetIdArr_t< std::unordered_map< int, int > > fvmHitExtToIntIndexMap
Hit index map ext -> int.
bool InitRun()
Run initializer function.
TimeSliceReader()=default
Constructor from parameters.
void RegisterTracksContainer(ca::Vector< CbmL1Track > &vTracks)
Register the reconstructed tracks container.
ca::Vector< CbmL1HitId > * fpvHitIds
Pointer to array of hit index objects.
bool fbSortQaHits
Flag, if the QA hits must be sorted after reading.
void CheckInit() const
Check class initialization.
DetIdArr_t< int > fvNofHitsTotal
Total hit number in detector.
void Clear()
Clears class content.
TODO: SZh 8.11.2022: add selection of parameterisation.
EDetectorID
Enumeration for the tracking detector subsystems in CBM-CA.