CbmRoot
Loading...
Searching...
No Matches
CbmPsdMCbmHitProducer.h
Go to the documentation of this file.
1/* Copyright (C) 2020 Facility for Antiproton and Ion Research in Europe, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau [committer] */
4
5#ifndef CBM_PSD_MCBM_HIT_PRODUCER
6#define CBM_PSD_MCBM_HIT_PRODUCER
7
8#include "FairTask.h"
9//#include "CbmRichRecGeoPar.h"
10
11class TClonesArray;
12class TVector3;
13class CbmEvent;
14class CbmDigiManager;
15class CbmPsdDigi;
16
17class CbmPsdMCbmHitProducer : public FairTask {
18 public:
23
27 virtual ~CbmPsdMCbmHitProducer();
28
32 virtual void SetParContainers();
33
37 virtual InitStatus Init();
38
39
43 virtual void Exec(Option_t* option);
44
48 virtual void Finish();
49
50
54 void ProcessData(CbmEvent* event);
55
56
60 void ProcessDigi(CbmEvent* event, Int_t digiIndex);
61
62
66 //void SetMappingFile(const string& mappingFile){fMappingFile = mappingFile;}
67
68
72 void setEnRange(double low, double high)
73 {
74 fEnLimitLow = low;
75 fEnLimitHigh = high;
76 }
77
81 void applyEnCut() { fDoEnCut = true; }
82
83 private:
85 TClonesArray* fPsdHits; // PSD hits
86 TClonesArray* fCbmEvents = nullptr; // CbmEvent for time-based simulations
87 bool fDoEnCut = false;
88 double fEnLimitLow = 0.;
89 double fEnLimitHigh = 100000.;
90
91 //map<Int_t,CbmRichMCbmMappingData> fPsdMapping; //TODO
92
93 Int_t fEventNum; // event number
94
95 Double_t fHitError;
96
97 TString fMappingFile;
98
100
101 bool isInEnRange(const double energy);
102
107 void AddHit(CbmEvent* event, Double_t time, Double_t energy, UInt_t moduleId, UInt_t sectionId, Int_t index);
108
113
118
119 ClassDef(CbmPsdMCbmHitProducer, 1)
120};
121
122#endif
CbmDigiManager.
Class characterising one event by a collection of links (indices) to data objects,...
Definition CbmEvent.h:34
Data class for PSD digital information.
Definition CbmPsdDigi.h:36
CbmPsdMCbmHitProducer & operator=(const CbmPsdMCbmHitProducer &)
Assignment operator.
void setEnRange(double low, double high)
CbmPsdMCbmHitProducer()
Default constructor.
virtual ~CbmPsdMCbmHitProducer()
Destructor.
virtual void SetParContainers()
Inherited from FairTask.
void ProcessData(CbmEvent *event)
virtual void Finish()
Inherited from FairTask.
CbmPsdMCbmHitProducer(const CbmPsdMCbmHitProducer &)
Copy constructor.
void AddHit(CbmEvent *event, Double_t time, Double_t energy, UInt_t moduleId, UInt_t sectionId, Int_t index)
Add hit to the output array (and) CbmEvent if it is not NULL.
virtual void Exec(Option_t *option)
Inherited from FairTask.
bool isInEnRange(const double energy)
virtual InitStatus Init()
Inherited from FairTask.
void ProcessDigi(CbmEvent *event, Int_t digiIndex)