BmnRoot
Loading...
Searching...
No Matches
CbmSts.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- CbmSts header file -----
3// ----- Created 26/07/04 by V. Friese -----
4// -------------------------------------------------------------------------
5
13#ifndef CBMSTS_H
14#define CBMSTS_H
15
16#include "CbmStsPoint.h"
17#include "FairDetector.h"
18#include "TLorentzVector.h"
19
20#include <map>
21
22class CbmSts : public FairDetector
23{
24 public:
26 CbmSts();
27
32 CbmSts(const char* name, Bool_t active);
33
35 virtual ~CbmSts();
36
44 virtual Bool_t ProcessHits(FairVolume* vol = 0);
45
52 virtual void BeginEvent();
53
60 virtual void EndOfEvent();
61
66 virtual void Register();
67
69 virtual TClonesArray* GetCollection(Int_t iColl) const;
70
75 virtual void Print(Option_t*) const;
76
81 virtual void Reset();
82
90 virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2, Int_t offset);
91
98 virtual void ConstructGeometry();
99
101 virtual void ConstructAsciiGeometry();
102
104 virtual void ConstructGDMLGeometry(TGeoMatrix*);
105
113 virtual Bool_t CheckIfSensitive(std::string name);
114
115 // void SaveGeoParams();
116
117 private:
119 Int_t fTrackID;
120 Int_t fVolumeID;
121 Int_t fDetectorId; // ! Unique detector ID
122 TVector3 fPosIn, fPosOut;
123 TVector3 fMomIn, fMomOut;
124 Double32_t fTime;
125 Double32_t fLength;
126 Double32_t fELoss;
127
128 Int_t fPosIndex;
129 TClonesArray* fStsCollection;
130
135 CbmStsPoint* AddHit(Int_t trackID,
136 Int_t detID,
137 TVector3 posIn,
138 TVector3 pos_out,
139 TVector3 momIn,
140 TVector3 momOut,
141 Double_t time,
142 Double_t length,
143 Double_t eLoss,
144 Int_t stationNum,
145 Int_t moduleNum);
146
147 // Int_t GetCurrentDetectorId();
148
153 void ResetParameters();
154 CbmSts(const CbmSts&) = delete;
155 CbmSts operator=(const CbmSts&) = delete;
156
157 ClassDef(CbmSts, 1);
158};
159
160inline void CbmSts::ResetParameters()
161{
162 fTrackID = fVolumeID = 0;
163 fPosIn.SetXYZ(0.0, 0.0, 0.0);
164 fPosOut.SetXYZ(0.0, 0.0, 0.0);
165 fMomIn.SetXYZ(0.0, 0.0, 0.0);
166 fMomOut.SetXYZ(0.0, 0.0, 0.0);
167 fTime = fLength = fELoss = 0;
168 fPosIndex = 0;
169};
170
171#endif
virtual void Reset()
Definition CbmSts.cxx:227
CbmSts()
Definition CbmSts.cxx:39
virtual void ConstructAsciiGeometry()
Definition CbmSts.cxx:272
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition CbmSts.cxx:209
virtual void Print(Option_t *) const
Definition CbmSts.cxx:219
virtual Bool_t ProcessHits(FairVolume *vol=0)
Definition CbmSts.cxx:98
virtual void ConstructGDMLGeometry(TGeoMatrix *)
Definition CbmSts.cxx:311
virtual void Register()
Definition CbmSts.cxx:202
virtual void ConstructGeometry()
Definition CbmSts.cxx:254
virtual void BeginEvent()
Definition CbmSts.cxx:187
virtual Bool_t CheckIfSensitive(std::string name)
Definition CbmSts.cxx:405
virtual ~CbmSts()
Definition CbmSts.cxx:88
virtual void EndOfEvent()
Definition CbmSts.cxx:189
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition CbmSts.cxx:236