BmnRoot 26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmStsDigitizeTb.h
Go to the documentation of this file.
1/** @file CbmStsDigitizeTb.h
2 ** @author Volker Friese <v.friese@gsi.de>
3 ** @date 10 December 2012
4 */
5
6#ifndef CBMSTSDIGITIZETB_H
7#define CBMSTSDIGITIZETB_H 1
8
9#include "FairTask.h"
10#include "TClonesArray.h"
11#include "TStopwatch.h"
12
13#include <set>
14
15using std::map;
16using std::pair;
17using std::set;
18
19class CbmGeostsPar;
20class CbmStsDigiPar;
21class CbmStsStation;
22
23class CbmStsPoint;
24
25/** CbmStsDigitiseTb
26 ** @author Volker Friese <v.friese@gsi.de>
27 ** @date 10 December 2012
28 ** @brief CBM task for STS detector response simulation
29 **
30 ** Version for time-based simulation
31 ** Based on earlier developments by R. Karabowicz and A. Kotynia.
32 **/
34{
35
36 public:
37 /** Default constructor **/
39
40 /** Destructor **/
41 virtual ~CbmStsDigitizeTb();
42
43 /** Execution **/
44 virtual void Exec(Option_t* opt);
45
46 virtual void SetRealisticResponse(Bool_t real = kTRUE) { fRealistic = real; }
47
48 void SetThreshold(Double_t threshold = 0.) { fThreshold = threshold; }
49
50 void SetNAdcBits(Int_t nBits) { fNAdcBits = nBits; }
51
52 void SetStripDeadTime(Double_t StripDeadTime = 0.) { fStripDeadTime = StripDeadTime; }
53
54 private:
55 CbmGeoStsPar* fGeoPar; /** Geometry parameter container **/
56 CbmStsDigiPar* fDigiPar; /** Digitisation parameter container **/
57 CbmStsDigiScheme* fDigiScheme; /** Digitisation scheme **/
58 TClonesArray* fPoints; /** Input array of CbmStsPoint **/
59 TClonesArray* fDigis; /** Output array of CbmStsDigi **/
60 TClonesArray* fDigiMatches; /** Output array of CbmStsDigiMatches**/
61
62 // statistics
65
72
73 // settings
74 Double_t fStepSize; /** Step size for ionisation points **/
75
77
80
83
85
86 // Digitisation properties
87 Double_t fQMax; /** Dynamic range in e **/
88 Double_t fThreshold; /** Threshold charge in e **/
89 Int_t fNAdcBits; /** Number of bits for ADC **/
90 Double_t fNAdcChannels; /** Number of ADC channels **/
91
92 // Int_t fFNofBits;
93 // Int_t fBNofBits;
94 // Double_t fFMinStep;
95 // Double_t fBMinStep;
96 // Int_t fFNofSteps;
97 // Int_t fBNofSteps;
98
99 // map of the point indices contributing to a fired strip
100 map<Int_t, set<Int_t>> fFChannelPointsMap;
101 map<Int_t, set<Int_t>> fBChannelPointsMap;
102
103 /** Perform digitisation of one MCPoint
104 ** @param point Pointer to CbmStsPoint
105 ** @param nFront Number of digis on front side (return)
106 ** @param nBack Number of digis on back side {return)
107 **/
108 void DigitizePoint(const CbmStsPoint* point, Int_t& nFront, Int_t& nBack);
109
110 /** Get parameter containers **/
111 virtual void SetParContainers();
112
113 /** Intialisation
114 ** @return kSUCCESS if successful
115 **/
116 virtual InitStatus Init();
117
118 /** Re-initialisation **/
119 virtual InitStatus ReInit();
120
121 /** Virtual method Finish **/
122 virtual void Finish();
123
124 /** Reset eventwise counters **/
125 void Reset();
126
129
131};
132
133#endif
bool Bool_t
int Int_t
double Double_t
constexpr Bool_t kTRUE
const char Option_t
#define ClassDef(name, id)
map< Int_t, set< Int_t > > fFChannelPointsMap
Number of ADC channels.
TClonesArray * fDigis
Input array of CbmStsPoint.
void SetNAdcBits(Int_t nBits)
virtual InitStatus Init()
Intialisation.
Int_t fNAdcBits
Threshold charge in e.
Double_t fPairCreationEnergy
virtual ~CbmStsDigitizeTb()
Destructor.
CbmStsDigitizeTb()
Default constructor.
CbmStsDigiScheme * fDigiScheme
Digitisation parameter container.
virtual void Finish()
Virtual method Finish.
CbmGeoStsPar * fGeoPar
Double_t fThreshold
Dynamic range in e.
Double_t fNAdcChannels
Number of bits for ADC.
map< Int_t, set< Int_t > > fBChannelPointsMap
CbmStsDigitizeTb(const CbmStsDigitizeTb &)
TClonesArray * fDigiMatches
Output array of CbmStsDigi.
TStopwatch fTimer
Step size for ionisation points.
Int_t fNDigis
Output array of CbmStsDigiMatches.
CbmStsDigiPar * fDigiPar
Geometry parameter container.
void SetStripDeadTime(Double_t StripDeadTime=0.)
virtual void SetParContainers()
Get parameter containers.
virtual InitStatus ReInit()
Re-initialisation.
void Reset()
Reset eventwise counters.
virtual void Exec(Option_t *opt)
Execution.
TClonesArray * fPoints
Digitisation scheme.
void SetThreshold(Double_t threshold=0.)
void DigitizePoint(const CbmStsPoint *point, Int_t &nFront, Int_t &nBack)
Perform digitisation of one MCPoint.
virtual void SetRealisticResponse(Bool_t real=kTRUE)
CbmStsDigitizeTb operator=(const CbmStsDigitizeTb &)