BmnRoot
Loading...
Searching...
No Matches
CbmStsRealDigitize.h
Go to the documentation of this file.
1//* $Id: */
2
3// -------------------------------------------------------------------------
4// ----- CbmStsRealDigitize header file -----
5// ----- Created 01/07/2008 by R. Karabowicz -----
6// -------------------------------------------------------------------------
7
8
20#ifndef CBMSTSREALDIGITIZE_H
21#define CBMSTSREALDIGITIZE_H 1
22
23#include <set>
24#include "TStopwatch.h"
25#include "FairTask.h"
26
27using std::set;
28using std::map;
29using std::pair;
30
31class TClonesArray;
32class CbmGeostsPar;
33class CbmStsDigiPar;
34class CbmStsStation;
35
36class CbmStsPoint;
37
38
39class CbmStsRealDigitize : public FairTask
40{
41
42 public:
43
46
47
49 CbmStsRealDigitize(Int_t iVerbose);
50
51
53 CbmStsRealDigitize(const char* name, Int_t iVerbose);
54
55
57 virtual ~CbmStsRealDigitize();
58
59 void SetStep(Double_t tStep) {fStep = tStep;}
60
62 virtual void Exec(Option_t* opt);
63
65 virtual void Finish();
66
67 virtual void SetRealisticResponse(Bool_t real=kTRUE) {fRealistic = real;}
68
69 void FindFiredStrips(CbmStsPoint* pnt,Int_t& nofStr,Int_t*& strips,Double_t*& signals,Int_t side);
70 void ProduceHitResponse(CbmStsSensor* sensor);
71
72 void SetFrontThreshold (Double_t frontThr=0.) {fFThreshold = frontThr;}
73 void SetBackThreshold (Double_t backThr=0.) {fBThreshold = backThr;}
74 void SetFrontNoiseWidth(Double_t frontNoW=0.) {fFNoiseWidth = frontNoW;}
75 void SetBackNoiseWidth (Double_t backNoW=0.) {fBNoiseWidth = backNoW;}
76
77 void SetFrontNofBits (Int_t frontNB=0 ) {fFNofBits = frontNB;}
78 void SetBackNofBits (Int_t backNB=0 ) {fBNofBits = backNB;}
79 void SetFrontMinStep (Double_t frontMS=0.) {fFMinStep = frontMS;}
80 void SetBackMinStep (Double_t backMS=0.) {fBMinStep = backMS;}
81
82 void SetStripDeadTime (Double_t StripDeadTime=0.) {fStripDeadTime = StripDeadTime;}
83
84
85 private:
86
87 CbmGeoStsPar* fGeoPar;
88 CbmStsDigiPar* fDigiPar;
89 CbmStsDigiScheme* fDigiScheme;
90 TClonesArray* fPoints;
91 TClonesArray* fDigis;
92 TClonesArray* fDigiMatches;
94 // statistics
95 Int_t fNDigis;
96 Int_t fNMulti;
97
98 Double_t fNEvents;
99 Double_t fNPoints;
100 Double_t fNOutside;
101 Double_t fNDigisFront;
102 Double_t fNDigisBack;
103 Double_t fTime;
104
105 // settings
106 Double_t fStep;
107
108 TStopwatch fTimer;
109
110 Bool_t fRealistic;
111 Double_t fEnergyLossToSignal;
112
113 Double_t fFThreshold;
114 Double_t fBThreshold;
115 Double_t fFNoiseWidth;
116 Double_t fBNoiseWidth;
117
118 Double_t fStripDeadTime;
119
120 Int_t fFNofBits;
121 Int_t fBNofBits;
122 Double_t fFMinStep;
123 Double_t fBMinStep;
124 Int_t fFNofSteps;
125 Int_t fBNofSteps;
126
127 Double_t* fStripSignalF;
128 Double_t* fStripSignalB;
129
130 // map of the point indices contributing to a fired strip
131 map<Int_t, set<Int_t> > fFChannelPointsMap;
132 map<Int_t, set<Int_t> > fBChannelPointsMap;
133
134 map<CbmStsSensor*, set<Int_t> > fPointMap;
135 Float_t occupancy [10][1000][20];
136
138 void MakeSets();
139
141 virtual void SetParContainers();
142
143
145 virtual InitStatus Init();
146
147
149 virtual InitStatus ReInit();
150
151
153 void Reset();
154
155
156
157 ClassDef(CbmStsRealDigitize,1);
158
159};
160
161#endif
162
163
void SetFrontNofBits(Int_t frontNB=0)
void SetFrontMinStep(Double_t frontMS=0.)
void SetBackNofBits(Int_t backNB=0)
void SetBackThreshold(Double_t backThr=0.)
void SetStripDeadTime(Double_t StripDeadTime=0.)
void ProduceHitResponse(CbmStsSensor *sensor)
virtual void Exec(Option_t *opt)
void SetFrontThreshold(Double_t frontThr=0.)
void SetBackNoiseWidth(Double_t backNoW=0.)
void SetStep(Double_t tStep)
void FindFiredStrips(CbmStsPoint *pnt, Int_t &nofStr, Int_t *&strips, Double_t *&signals, Int_t side)
virtual void SetRealisticResponse(Bool_t real=kTRUE)
void SetFrontNoiseWidth(Double_t frontNoW=0.)
void SetBackMinStep(Double_t backMS=0.)