BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
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/** CbmStsDigitise
9 *@author Volker Friese <v.friese@gsi.de>
10 *@since 30.08.06
11 *@version 1.0
12 **
13 ** CBM task class for digitising STS
14 ** Task level SIM
15 ** Produces objects of type CbmStsDigi out of CbmStsPoint.
16 **/
17
18#ifndef CBMSTSREALDIGITIZE_H
19#define CBMSTSREALDIGITIZE_H 1
20
21#include "FairTask.h"
22#include "TStopwatch.h"
23
24#include <set>
25
26using std::map;
27using std::pair;
28using std::set;
29
30class TClonesArray;
31class CbmGeostsPar;
32class CbmStsDigiPar;
33class CbmStsStation;
34
35class CbmStsPoint;
36
38{
39
40 public:
41 /** Default constructor **/
43
44 /** Standard constructor **/
45 CbmStsRealDigitize(Int_t iVerbose);
46
47 /** Constructor with name **/
48 CbmStsRealDigitize(const char* name, Int_t iVerbose);
49
50 /** Destructor **/
51 virtual ~CbmStsRealDigitize();
52
53 void SetStep(Double_t tStep) { fStep = tStep; }
54
55 /** Execution **/
56 virtual void Exec(Option_t* opt);
57
58 /** Virtual method Finish **/
59 virtual void Finish();
60
61 virtual void SetRealisticResponse(Bool_t real = kTRUE) { fRealistic = real; }
62
63 void FindFiredStrips(CbmStsPoint* pnt, Int_t& nofStr, Int_t*& strips, Double_t*& signals, Int_t side);
64 void ProduceHitResponse(CbmStsSensor* sensor);
65
66 void SetFrontThreshold(Double_t frontThr = 0.) { fFThreshold = frontThr; }
67 void SetBackThreshold(Double_t backThr = 0.) { fBThreshold = backThr; }
68 void SetFrontNoiseWidth(Double_t frontNoW = 0.) { fFNoiseWidth = frontNoW; }
69 void SetBackNoiseWidth(Double_t backNoW = 0.) { fBNoiseWidth = backNoW; }
70
71 void SetFrontNofBits(Int_t frontNB = 0) { fFNofBits = frontNB; }
72 void SetBackNofBits(Int_t backNB = 0) { fBNofBits = backNB; }
73 void SetFrontMinStep(Double_t frontMS = 0.) { fFMinStep = frontMS; }
74 void SetBackMinStep(Double_t backMS = 0.) { fBMinStep = backMS; }
75
76 void SetStripDeadTime(Double_t StripDeadTime = 0.) { fStripDeadTime = StripDeadTime; }
77
78 private:
79 CbmGeoStsPar* fGeoPar; /** Geometry parameter container **/
80 CbmStsDigiPar* fDigiPar; /** Digitisation parameter container **/
81 CbmStsDigiScheme* fDigiScheme; /** Digitisation scheme **/
82 TClonesArray* fPoints; /** Input array of CbmStsPoint **/
83 TClonesArray* fDigis; /** Output array of CbmStsDigi **/
84 TClonesArray* fDigiMatches; /** Output array of CbmStsDigiMatches**/
85
86 // statistics
89
96
97 // settings
99
101
104
109
111
118
121
122 // map of the point indices contributing to a fired strip
123 map<Int_t, set<Int_t>> fFChannelPointsMap;
124 map<Int_t, set<Int_t>> fBChannelPointsMap;
125
126 map<CbmStsSensor*, set<Int_t>> fPointMap; /** sensor points **/
127 Float_t occupancy[10][1000][20];
128
129 /** Make sensorwise set for points **/
130 void MakeSets();
131
132 /** Get parameter containers **/
133 virtual void SetParContainers();
134
135 /** Intialisation **/
136 virtual InitStatus Init();
137
138 /** Reinitialisation **/
139 virtual InitStatus ReInit();
140
141 /** Reset eventwise counters **/
142 void Reset();
143
145};
146
147#endif
bool Bool_t
int Int_t
float Float_t
double Double_t
constexpr Bool_t kTRUE
const char Option_t
#define ClassDef(name, id)
CbmStsDigiScheme * fDigiScheme
Digitisation parameter container.
virtual ~CbmStsRealDigitize()
Destructor.
void SetFrontNofBits(Int_t frontNB=0)
map< CbmStsSensor *, set< Int_t > > fPointMap
void Reset()
Reset eventwise counters.
void SetFrontMinStep(Double_t frontMS=0.)
void SetBackNofBits(Int_t backNB=0)
virtual InitStatus ReInit()
Reinitialisation.
virtual InitStatus Init()
Intialisation.
CbmStsRealDigitize()
Default constructor.
map< Int_t, set< Int_t > > fBChannelPointsMap
TClonesArray * fDigiMatches
Output array of CbmStsDigi.
CbmStsDigiPar * fDigiPar
Geometry parameter container.
void SetBackThreshold(Double_t backThr=0.)
void SetStripDeadTime(Double_t StripDeadTime=0.)
void ProduceHitResponse(CbmStsSensor *sensor)
TClonesArray * fPoints
Digitisation scheme.
virtual void Exec(Option_t *opt)
Execution.
void SetFrontThreshold(Double_t frontThr=0.)
void SetBackNoiseWidth(Double_t backNoW=0.)
virtual void SetParContainers()
Get parameter containers.
void MakeSets()
Make sensorwise set for points.
virtual void Finish()
Virtual method Finish.
Int_t fNDigis
Output array of CbmStsDigiMatches.
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.)
Float_t occupancy[10][1000][20]
sensor points
TClonesArray * fDigis
Input array of CbmStsPoint.
map< Int_t, set< Int_t > > fFChannelPointsMap
void SetBackMinStep(Double_t backMS=0.)