CbmRoot
Loading...
Searching...
No Matches
CbmCaIdealHitProducer.cxx
Go to the documentation of this file.
1/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergei Zharko [committer] */
4
9
11
12#include "CbmSetup.h"
13
14
16
18
19// ---------------------------------------------------------------------------------------------------------------------
20//
22{
23 fbUseDet[ca::EDetectorID::kMvd] = false; //CbmSetup::Instance()->IsActive(ECbmModuleId::kMvd);
24 fbUseDet[ca::EDetectorID::kSts] = CbmSetup::Instance()->IsActive(ECbmModuleId::kSts);
25 fbUseDet[ca::EDetectorID::kMuch] = CbmSetup::Instance()->IsActive(ECbmModuleId::kMuch);
26 fbUseDet[ca::EDetectorID::kTrd] = CbmSetup::Instance()->IsActive(ECbmModuleId::kTrd);
27 fbUseDet[ca::EDetectorID::kTof] = CbmSetup::Instance()->IsActive(ECbmModuleId::kTof);
28
29
30 InitStatus ret = kSUCCESS;
31 if (fbUseDet[ca::EDetectorID::kMvd]) {
32 ret = std::max(fHitProducerMvd.Init(), ret);
33 }
34 if (fbUseDet[ca::EDetectorID::kSts]) {
35 ret = std::max(fHitProducerSts.Init(), ret);
36 }
37 if (fbUseDet[ca::EDetectorID::kMuch]) {
38 ret = std::max(fHitProducerMuch.Init(), ret);
39 }
40 if (fbUseDet[ca::EDetectorID::kTrd]) {
41 ret = std::max(fHitProducerTrd.Init(), ret);
42 }
43 if (fbUseDet[ca::EDetectorID::kTof]) {
44 ret = std::max(fHitProducerTof.Init(), ret);
45 }
46 return kSUCCESS;
47}
48
49// ---------------------------------------------------------------------------------------------------------------------
50//
51void IdealHitProducer::Exec(Option_t* option)
52{
53 if (fbUseDet[ca::EDetectorID::kMvd]) {
54 fHitProducerMvd.Exec(option);
55 }
56 if (fbUseDet[ca::EDetectorID::kSts]) {
57 fHitProducerSts.Exec(option);
58 }
59 if (fbUseDet[ca::EDetectorID::kMuch]) {
60 fHitProducerMuch.Exec(option);
61 }
62 if (fbUseDet[ca::EDetectorID::kTrd]) {
63 fHitProducerTrd.Exec(option);
64 }
65 if (fbUseDet[ca::EDetectorID::kTof]) {
66 fHitProducerTof.Exec(option);
67 }
68}
69
70// ---------------------------------------------------------------------------------------------------------------------
71//
ClassImp(cbm::ca::IdealHitProducer)
Base class for the ideal hit producer task (implementation)
@ kTrd
Transition Radiation Detector.
@ kTof
Time-of-flight Detector.
@ kSts
Silicon Tracking System.
@ kMuch
Muon detection system.
Bool_t IsActive(ECbmModuleId moduleId)
Definition CbmSetup.cxx:169
static CbmSetup * Instance()
Definition CbmSetup.cxx:160
void SetConfigName(const char *name)
Sets YAML configuration file name.
void Exec(Option_t *option)
Execution of the task.
InitStatus Init()
Initialization of the task.
Ideal hit producer task for CA tracking.
IdealHitProducerDet< ca::EDetectorID::kTof > fHitProducerTof
Instance of hit producer for TOF.
IdealHitProducerDet< ca::EDetectorID::kMuch > fHitProducerMuch
Instance of hit producer for MuCh.
InitStatus Init()
Initialization of the task.
IdealHitProducerDet< ca::EDetectorID::kSts > fHitProducerSts
Instance of hit producer for STS.
IdealHitProducerDet< ca::EDetectorID::kTrd > fHitProducerTrd
Instance of hit producer for TRD.
void SetConfigName(const char *name)
Sets YAML configuration file with defined smearing parameters.
IdealHitProducerDet< ca::EDetectorID::kMvd > fHitProducerMvd
Instance of hit producer for MVD.
void Exec(Option_t *option)
Execution of the task.
DetIdArr_t< bool > fbUseDet
Usage flag of different detectors.