CbmRoot
CbmDigiManager Class Reference

CbmDigiManager. More...

#include <CbmDigiManager.h>

Collaboration diagram for CbmDigiManager:
[legend]

Public Member Functions

virtual ~CbmDigiManager ()
 
template<class Digi >
const Digi * Get (Int_t index) const
 Get a digi object. More...
 
const CbmMatchGetMatch (ECbmModuleId systemId, UInt_t index) const
 Get a match object. More...
 
InitStatus Init ()
 Initialisation. More...
 
void SetBranchName (ECbmModuleId system, const char *name)
 Set the digi branch name for a system. More...
 
void UseMuchBeamTimeDigi (Bool_t choice=kTRUE)
 Use CbmMuchBeamTimeDigi instead of CbmMuchDigi for MUCH. More...
 

Static Public Member Functions

static Int_t GetNofDigis (ECbmModuleId systemId)
 
static CbmDigiManagerInstance ()
 Static instance. More...
 
static Bool_t IsPresent (ECbmModuleId systemId)
 Presence of a digi branch. More...
 
static Bool_t IsMatchPresent (ECbmModuleId systemId)
 Presence of a digi match branch. More...
 

Private Member Functions

 CbmDigiManager ()
 
 CbmDigiManager (const CbmDigiManager &)=delete
 
CbmDigiManageroperator= (const CbmDigiManager &)=delete
 
template<class Digi >
void SetBranch ()
 Set a digi branch. More...
 
 ClassDef (CbmDigiManager, 5)
 

Private Attributes

std::map< ECbmModuleId, std::string > fBranchNames {}
 

Static Private Attributes

static std::map< ECbmModuleId, CbmDigiBranchBase * > fBranches
 
static CbmDigiManagerfgInstance = nullptr
 
static Bool_t fIsInitialised = kFALSE
 
static Bool_t fUseMuchBeamTimeDigi = kFALSE
 

Detailed Description

CbmDigiManager.

Author
Volker Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Since
08.05.07
Date
5 June 2019

Interface class to provide access to CbmDigis. The storage model (STL vector or TClonesArray) is abstracted from.

Definition at line 37 of file CbmDigiManager.h.

Constructor & Destructor Documentation

◆ ~CbmDigiManager()

CbmDigiManager::~CbmDigiManager ( )
virtual

Destructor

Definition at line 45 of file CbmDigiManager.cxx.

References fBranches.

◆ CbmDigiManager() [1/2]

CbmDigiManager::CbmDigiManager ( )
private

Default constructor

Definition at line 40 of file CbmDigiManager.cxx.

Referenced by Instance().

◆ CbmDigiManager() [2/2]

CbmDigiManager::CbmDigiManager ( const CbmDigiManager )
privatedelete

Copy constructor forbidden

Member Function Documentation

◆ ClassDef()

CbmDigiManager::ClassDef ( CbmDigiManager  ,
 
)
private

◆ Get()

template<class Digi >
const Digi* CbmDigiManager::Get ( Int_t  index) const
inline

Get a digi object.

Parameters
indexIndex of digi in its container
Returns
Pointer to constant digi object

Requirement to the template type Digi is that its pointer can be cast to CbmDigi* and that it has a static method GetSystem().

Definition at line 52 of file CbmDigiManager.h.

References fBranches, and fIsInitialised.

Referenced by CbmTrdClusterFinder::AddClusters(), CbmMcbm2018EventBuilder::AddDigiToSorter(), CbmStsAlgoAnaCluster::AnaSize1(), CbmStsAlgoAnaCluster::AnaSize2(), CbmStsAlgoAnaCluster::AnaSizeN(), CbmTofSimpClusterizer::BuildClusters(), CbmStsTrackFinder::CalculateEloss(), CbmCheckTiming::CheckIfSorted(), CbmMcbmCheckTimingAlgo::CheckInterSystemOffset(), CbmMcbm2019CheckPulser::CheckInterSystemOffset(), CbmCheckTiming::CheckTimeOrder(), CbmMuchClustering::ClearDigiCharges(), CbmMuchClustering::ClusteringA1(), CbmMuchClustering::ClusteringSL(), CbmMuchClustering::ClusteringWard(), CbmStsDigiSource::ConditionalRun(), CbmMuchFindHitsGem::CreateHits(), CbmMuchHitFinderQa::DigitizerQa(), CbmMuchHitFinderQa::Exec(), CbmTrdHitProducer::Exec(), CbmTrdQa::Exec(), CbmMvdClusterfinderTB::Exec(), CbmRichMCbmToTShifter::Exec(), CbmPsdMCbmQaReal::Exec(), CbmBuildEventsIdealNew::Exec(), CbmRichMCbmAerogelAna::Exec(), CbmPsdHitProducer::Exec(), CbmTrdHitDensityQa::Exec(), CbmRichMCbmQaRichOnly::Exec(), CbmMcbm2019CheckDigisSts::Exec(), CbmRichMCbmQaReal::Exec(), CbmMcbm2019CheckDigisMuch::Exec(), CbmCheckDigisNbCorr::Exec(), CbmTrdRecoQa::Exec(), CbmTrdClusterFinder::Exec(), CbmTofEventClusterizer::Exec(), CbmTrdOccupancyQa::Exec(), CbmMuchFindHitsGem::ExecClusteringPeaks(), CbmMuchFindHitsGem::ExecClusteringSimple(), CbmTofCalibrator::FillCalHist(), CbmMuchDigitizerQa::FillChargePerPoint(), CbmMcbm2019CheckTimingPairs::FillCorrBuffer(), CbmTofAnaTestbeam::FillHistos(), CbmMcbm2019CheckDtInDet::FillHistosPerDet(), CbmCheckTiming::FillHistosSelT0(), CbmRichUrqmdTest::FillRichRingNofHits(), CbmCheckTiming::FillSystemOffsetHistos(), CbmMcbm2019CheckPulser::FillSystemOffsetHistos(), CbmMcbmCheckTimingAlgo::FillTimeOffsetHistos(), CbmMuchFindHitsGem::FindClusters(), CbmMatchRecoToMC::GetMcTrackMotherIdsForRichHit(), CbmCheckEvents::GetTimeDiff(), CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds(), CbmMatchRecoToMC::MatchHitsTof(), CbmRichUrqmdTest::NofHitsAndPoints(), CbmMuchHitFinderQa::OccupancyQa(), CbmMuchDigitizerQa::OccupancyQa(), CbmMuchDigitizerQa::PrintFrontLayerDigis(), CbmRichRecoTbQa::Process(), CbmRecoSts::ProcessData(), CbmPsdMCbmHitProducer::ProcessDigi(), CbmRichMCbmHitProducer::ProcessDigi(), CbmRichHitProducer::ProcessDigi(), CbmLitClusteringQa::ProcessDigis(), CbmStsDigitizeQa::ProcessDigisAndPoints(), CbmRichGeoTest::ProcessHits(), CbmMuchHitFinderQa::PullsQa(), DataTreeCbmInterface::ReadPSD(), CbmMcbm2019TimeWinEventBuilderAlgo::SearchMatches(), CbmMvdDetector::SendInputDigis(), CbmMuchClustering::SetDigiCharges(), CbmKFParticleFinderPID::SetRecoPID(), and CbmStsAlgoAnaCluster::WeightedMean().

◆ GetMatch()

◆ GetNofDigis()

Int_t CbmDigiManager::GetNofDigis ( ECbmModuleId  systemId)
static

Number of digis for a given system

Parameters
Systemidentifier (ECbmModuleId)
Returns
Number of digis for system

Definition at line 62 of file CbmDigiManager.cxx.

References fBranches, and fIsInitialised.

Referenced by CbmTofSimpClusterizer::BuildClusters(), CbmCheckTiming::CheckIfSorted(), CbmCheckTiming::CheckInterSystemOffset(), CbmMcbmCheckTimingAlgo::CheckInterSystemOffset(), CbmMcbm2019CheckPulser::CheckInterSystemOffset(), CbmCheckTiming::CheckTimeOrder(), CbmMuchClustering::ClearDigiCharges(), CbmStsDigiSource::ConditionalRun(), CbmMuchHitFinderQa::DigitizerQa(), CbmMuchHitFinderQa::Exec(), CbmMvdReadout::Exec(), CbmMuchClustering::Exec(), CbmBuildEventsIdeal::Exec(), CbmTrdQa::Exec(), CbmMvdClusterfinder::Exec(), CbmRichMCbmToTShifter::Exec(), CbmPsdMCbmQaReal::Exec(), CbmBuildEventsIdealNew::Exec(), CbmRichMCbmAerogelAna::Exec(), CbmPsdHitProducer::Exec(), CbmRichMCbmQaRichOnly::Exec(), CbmMcbm2019CheckDigisSts::Exec(), CbmTrdHitDensityQa::Exec(), CbmRichMCbmQaReal::Exec(), CbmMcbm2019CheckDigisMuch::Exec(), CbmCheckDigisNbCorr::Exec(), CbmMuchFindHitsGem::Exec(), CbmCheckEvents::Exec(), CbmTrdRecoQa::Exec(), CbmTofSimpClusterizer::Exec(), CbmTrdClusterFinder::Exec(), CbmTofEventClusterizer::Exec(), CbmTrdOccupancyQa::Exec(), CbmMuchDigitizerQa::FillChargePerPoint(), CbmMcbm2019CheckTimingPairs::FillCorrBuffer(), CbmLitClusteringQa::FillEventCounterHistograms(), CbmMcbm2019CheckDtInDet::FillHistosPerDet(), CbmCheckTiming::FillHistosSelT0(), CbmCheckTiming::FillSystemOffsetHistos(), CbmMcbm2019CheckPulser::FillSystemOffsetHistos(), CbmMcbmCheckTimingAlgo::FillTimeOffsetHistos(), CbmMuchFindHitsGem::FindClusters(), CbmMcbm2018EventBuilder::InitSorter(), CbmMcbm2019TimeWinEventBuilderAlgo::LoopOnSeeds(), CbmMatchRecoToMC::MatchHitsTof(), CbmMuchHitFinderQa::OccupancyQa(), CbmMuchDigitizerQa::OccupancyQa(), CbmMuchDigitizerQa::PrintFrontLayerDigis(), CbmRichRecoTbQa::Process(), CbmPsdMCbmHitProducer::ProcessData(), CbmRichMCbmHitProducer::ProcessData(), CbmRichHitProducer::ProcessData(), CbmRecoSts::ProcessData(), CbmLitClusteringQa::ProcessDigis(), CbmStsDigitizeQa::ProcessDigisAndPoints(), DataTreeCbmInterface::ReadPSD(), CbmMcbm2019TimeWinEventBuilderAlgo::SearchMatches(), CbmMvdDetector::SendInputDigis(), and CbmMuchClustering::SetDigiCharges().

◆ Init()

InitStatus CbmDigiManager::Init ( )

Initialisation.

Returns
kSUCCESS is successful

The input tree is checked for digi branches.

Definition at line 71 of file CbmDigiManager.cxx.

References fBranches, fIsInitialised, and fUseMuchBeamTimeDigi.

Referenced by CbmTrdModuleRecR::addClusters(), CbmMcbmCheckTimingAlgo::CheckDataPresence(), CbmStsDigitizeQa::Init(), CbmTrdHitProducer::Init(), CbmMuchHitFinderQa::Init(), CbmRichMCbmToTShifter::Init(), CbmPsdMCbmHitProducer::Init(), CbmRichRecoTbQa::Init(), CbmTrdQa::Init(), CbmPsdMCbmQaReal::Init(), CbmRichMCbmAerogelAna::Init(), CbmMcbm2019CheckDigisSts::Init(), CbmMcbm2019CheckDigisMuch::Init(), CbmPsdHitProducer::Init(), CbmCheckTiming::Init(), CbmCheckDigisNbCorr::Init(), CbmRichMCbmQaRichOnly::Init(), CbmRichMCbmQaReal::Init(), CbmTrdHitDensityQa::Init(), CbmRichMCbmHitProducer::Init(), CbmCheckEvents::Init(), CbmKF::Init(), CbmKFParticleFinderPID::Init(), CbmRichRingFinderIdeal::Init(), CbmBuildEventsIdeal::Init(), CbmMcbm2019CheckPulser::Init(), CbmMcbm2019CheckDtInDet::Init(), CbmMvdReadout::Init(), CbmRichHitProducer::Init(), CbmBuildEventsIdealNew::Init(), CbmRichUrqmdTest::Init(), CbmTofCalibrator::Init(), CbmMcbm2019CheckTimingPairs::Init(), CbmTrdRecoQa::Init(), CbmMvdHitfinder::Init(), CbmTofSimpClusterizer::Init(), CbmMvdClusterfinder::Init(), CbmRichGeoTest::Init(), CbmMuchDigitizerQa::Init(), CbmMvdClusterfinderTB::Init(), CbmMcbm2018EventBuilder::Init(), CbmMuchFindHitsGem::Init(), CbmTrdClusterFinder::Init(), CbmGlobalTrackingQA::Init(), CbmTrdOccupancyQa::Init(), CbmRecoSts::Init(), CbmHadronAnalysis::Init(), CbmMcbm2019TimeWinEventBuilderAlgo::InitAlgo(), DataTreeCbmInterface::InitInput(), CbmStsDigiSource::InitTask(), CbmMatchRecoToMC::ReadAndCreateDataBranches(), CbmMuchClustering::ReadDataBranches(), CbmLitMCTrackCreator::ReadDataBranches(), CbmTofAnaTestbeam::RegisterInputs(), and CbmTofEventClusterizer::RegisterInputs().

◆ Instance()

static CbmDigiManager* CbmDigiManager::Instance ( )
inlinestatic

Static instance.

Definition at line 93 of file CbmDigiManager.h.

References CbmDigiManager(), and fgInstance.

Referenced by CbmTrdModuleRecR::addClusters(), CbmTrdClusterFinder::AddClusters(), CbmStsTrackFinder::CalculateEloss(), CbmMcbmCheckTimingAlgo::CheckDataPresence(), CbmStsDigiSource::ConditionalRun(), CbmTrdHitProducer::Exec(), CbmTrdQa::Exec(), CbmTrdHitDensityQa::Exec(), CbmTrdRecoQa::Exec(), CbmTrdClusterFinder::Exec(), CbmTrdOccupancyQa::Exec(), CbmStsDigitizeQa::Init(), CbmTrdHitProducer::Init(), CbmMuchHitFinderQa::Init(), CbmRichMCbmToTShifter::Init(), CbmPsdMCbmHitProducer::Init(), CbmRichRecoTbQa::Init(), CbmTrdQa::Init(), CbmPsdMCbmQaReal::Init(), CbmRichMCbmAerogelAna::Init(), CbmMcbm2019CheckDigisSts::Init(), CbmCheckTiming::Init(), CbmMcbm2019CheckDigisMuch::Init(), CbmPsdHitProducer::Init(), CbmCheckDigisNbCorr::Init(), CbmRichMCbmQaRichOnly::Init(), CbmRichMCbmQaReal::Init(), CbmTrdHitDensityQa::Init(), CbmRichMCbmHitProducer::Init(), CbmCheckEvents::Init(), CbmKF::Init(), CbmKFParticleFinderPID::Init(), CbmRichRingFinderIdeal::Init(), CbmBuildEventsIdeal::Init(), CbmMcbm2019CheckPulser::Init(), CbmMcbm2019CheckDtInDet::Init(), CbmMvdReadout::Init(), CbmRichHitProducer::Init(), CbmBuildEventsIdealNew::Init(), CbmRichUrqmdTest::Init(), CbmTofCalibrator::Init(), CbmMcbm2019CheckTimingPairs::Init(), CbmTrdRecoQa::Init(), CbmMvdHitfinder::Init(), CbmTofSimpClusterizer::Init(), CbmMvdClusterfinder::Init(), CbmRichGeoTest::Init(), CbmMuchDigitizerQa::Init(), CbmMvdClusterfinderTB::Init(), CbmMcbm2018EventBuilder::Init(), CbmMuchFindHitsGem::Init(), CbmTrdClusterFinder::Init(), CbmTrdOccupancyQa::Init(), CbmRecoSts::Init(), CbmGlobalTrackingQA::Init(), CbmHadronAnalysis::Init(), CbmMcbm2019TimeWinEventBuilderAlgo::InitAlgo(), DataTreeCbmInterface::InitInput(), CbmStsDigiSource::InitTask(), CbmMatchRecoToMC::ReadAndCreateDataBranches(), CbmMuchClustering::ReadDataBranches(), CbmLitMCTrackCreator::ReadDataBranches(), CbmTofAnaTestbeam::RegisterInputs(), and CbmTofEventClusterizer::RegisterInputs().

◆ IsMatchPresent()

Bool_t CbmDigiManager::IsMatchPresent ( ECbmModuleId  systemId)
static

◆ IsPresent()

Bool_t CbmDigiManager::IsPresent ( ECbmModuleId  systemId)
static

Presence of a digi branch.

Parameters
Systemidentifier (ECbmModuleId)
Returns
kTRUE if digi branch is present

Definition at line 112 of file CbmDigiManager.cxx.

References fBranches.

Referenced by CbmMcbm2019TimeWinEventBuilderAlgo::CheckDataAvailable(), CbmMcbmCheckTimingAlgo::CheckDataPresence(), CbmCheckTiming::CheckInterSystemOffset(), CbmCheckTiming::CheckTimeOrder(), CbmMcbm2019TimeWinEventBuilderAlgo::CheckTriggerConditions(), CbmMvdHitfinder::Exec(), CbmBuildEventsIdeal::Exec(), CbmPsdMCbmQaReal::Exec(), CbmBuildEventsIdealNew::Exec(), CbmRichMCbmQaReal::Exec(), CbmLitClusteringQa::FillEventCounterHistograms(), CbmTofAnaTestbeam::FillHistos(), CbmMcbm2018EventBuilder::HasTrigger(), CbmRichMCbmToTShifter::Init(), CbmPsdMCbmHitProducer::Init(), CbmPsdMCbmQaReal::Init(), CbmRichMCbmAerogelAna::Init(), CbmMcbm2019CheckDigisSts::Init(), CbmMcbm2019CheckDigisMuch::Init(), CbmCheckTiming::Init(), CbmPsdHitProducer::Init(), CbmRichMCbmQaRichOnly::Init(), CbmCheckDigisNbCorr::Init(), CbmRichMCbmQaReal::Init(), CbmCheckEvents::Init(), CbmRichMCbmHitProducer::Init(), CbmKF::Init(), CbmRichRingFinderIdeal::Init(), CbmKFParticleFinderPID::Init(), CbmMcbm2019CheckDtInDet::Init(), CbmMcbm2019CheckPulser::Init(), CbmMvdReadout::Init(), CbmRichHitProducer::Init(), CbmTofCalibrator::Init(), CbmMcbm2019CheckTimingPairs::Init(), CbmMvdHitfinder::Init(), CbmMvdClusterfinder::Init(), CbmRichGeoTest::Init(), CbmMvdClusterfinderTB::Init(), CbmMcbm2018EventBuilder::Init(), CbmGlobalTrackingQA::Init(), CbmRecoSts::Init(), CbmHadronAnalysis::Init(), CbmStsDigiSource::InitTask(), CbmLitClusteringQa::ProcessDigis(), CbmStsDigitizeQa::ReadDataBranches(), CbmTofAnaTestbeam::RegisterInputs(), CbmTofSimpClusterizer::RegisterInputs(), CbmTofEventClusterizer::RegisterInputs(), and CbmMvdDetector::SendInputDigis().

◆ operator=()

CbmDigiManager& CbmDigiManager::operator= ( const CbmDigiManager )
privatedelete

Assignment operator forbidden

◆ SetBranch()

template<class Digi >
void CbmDigiManager::SetBranch
private

Set a digi branch.

Definition at line 121 of file CbmDigiManager.cxx.

References CbmDigiBranchBase::ConnectToTree(), fBranches, fBranchNames, fUseMuchBeamTimeDigi, kMuch, and kTof.

◆ SetBranchName()

void CbmDigiManager::SetBranchName ( ECbmModuleId  system,
const char *  name 
)
inline

Set the digi branch name for a system.

Parameters
systemSystem identifier
nameBranch name

This can be used if the branch name in the input does not follow the convention (default).

Definition at line 120 of file CbmDigiManager.h.

References fBranchNames.

◆ UseMuchBeamTimeDigi()

Member Data Documentation

◆ fBranches

std::map< ECbmModuleId, CbmDigiBranchBase * > CbmDigiManager::fBranches
staticprivate
Initial value:
=
std::map<ECbmModuleId, CbmDigiBranchBase*>()

Definition at line 136 of file CbmDigiManager.h.

Referenced by Get(), GetMatch(), GetNofDigis(), Init(), IsMatchPresent(), IsPresent(), SetBranch(), and ~CbmDigiManager().

◆ fBranchNames

std::map<ECbmModuleId, std::string> CbmDigiManager::fBranchNames {}
private

Definition at line 139 of file CbmDigiManager.h.

Referenced by SetBranch(), and SetBranchName().

◆ fgInstance

CbmDigiManager * CbmDigiManager::fgInstance = nullptr
staticprivate

Definition at line 137 of file CbmDigiManager.h.

Referenced by Instance().

◆ fIsInitialised

Bool_t CbmDigiManager::fIsInitialised = kFALSE
staticprivate

Definition at line 138 of file CbmDigiManager.h.

Referenced by Get(), GetMatch(), GetNofDigis(), and Init().

◆ fUseMuchBeamTimeDigi

Bool_t CbmDigiManager::fUseMuchBeamTimeDigi = kFALSE
staticprivate

Definition at line 140 of file CbmDigiManager.h.

Referenced by Init(), SetBranch(), and UseMuchBeamTimeDigi().


The documentation for this class was generated from the following files: