CbmRoot
CbmMvd.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- CbmMvd header file -----
3 // ----- Created 26/07/04 by V. Friese -----
4 // -------------------------------------------------------------------------
5 
14 #ifndef CBMMVD_H
15 #define CBMMVD_H 1
16 
17 
18 #include <map>
19 
20 #include "TLorentzVector.h"
21 #include "TVector3.h"
22 
23 #include "FairDetector.h"
24 
26 
27 
28 class TClonesArray;
29 class TList;
30 class FairVolume;
31 class CbmMvdPoint;
32 class CbmMvdGeoHandler;
33 class CbmMvdDetector;
34 
35 
36 using std::map;
37 
38 
39 class CbmMvd : public FairDetector {
40 
41 public:
43  CbmMvd();
44 
45 
50  CbmMvd(const char* name, Bool_t active);
51 
52 
54  virtual ~CbmMvd();
55 
56 
64  virtual Bool_t ProcessHits(FairVolume* vol = 0);
65 
66 
68  virtual void BeginEvent();
69 
70 
76  virtual void EndOfEvent();
77 
78 
83  virtual void Register();
84 
85 
87  virtual TClonesArray* GetCollection(Int_t iColl) const;
88 
89 
94  virtual void Print(Option_t* = "") const;
95 
96 
101  virtual void Reset();
102 
103 
111  virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2, Int_t offset);
112 
113 
118  virtual void ConstructGeometry();
119 
120  virtual void ConstructAsciiGeometry();
121 
122  virtual void ConstructRootGeometry(TGeoMatrix* shift = NULL);
123 
124  virtual Bool_t CheckIfSensitive(std::string name);
125 
126  virtual map<Int_t, Int_t> GetMap() { return fStationMap; };
127 
128 private:
131  Int_t fTrackID;
132  Int_t fPdg;
133  Int_t fVolumeID;
134  TLorentzVector fPosIn, fPosOut;
135  TLorentzVector fMomIn, fMomOut;
136  Double32_t fTime;
137  Double32_t fLength;
138  Double32_t fELoss;
139 
140  Int_t fPosIndex;
141  TClonesArray* fCollection;
142  Bool_t kGeoSaved;
143  TList* fGeoPar;
144  map<Int_t, Int_t> fStationMap;
145 
147 
153  CbmMvdPoint* AddHit(Int_t trackID,
154  Int_t pdg,
155  Int_t sensorNr,
156  TVector3 posIn,
157  TVector3 pos_out,
158  TVector3 momIn,
159  TVector3 momOut,
160  Double_t time,
161  Double_t length,
162  Double_t eLoss);
163 
164 
169  void ResetParameters();
170 
171  CbmMvd(const CbmMvd&);
173 
174 
176 };
177 
178 
179 inline void CbmMvd::ResetParameters() {
180  fTrackID = fVolumeID = 0;
181  fPosIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
182  fPosOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
183  fMomIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
184  fMomOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
185  fTime = fLength = fELoss = 0;
186  fPosIndex = 0;
187 };
188 
189 
190 #endif
CbmMvd::operator=
CbmMvd & operator=(const CbmMvd &)
CbmMvd::fLength
Double32_t fLength
time
Definition: CbmMvd.h:137
CbmMvd::~CbmMvd
virtual ~CbmMvd()
Definition: CbmMvd.cxx:89
CbmMvd::EndOfEvent
virtual void EndOfEvent()
Definition: CbmMvd.cxx:164
CbmMvd::ConstructGeometry
virtual void ConstructGeometry()
Definition: CbmMvd.cxx:226
CbmMvd::fGeoPar
TList * fGeoPar
Definition: CbmMvd.h:143
CbmMvd::ConstructAsciiGeometry
virtual void ConstructAsciiGeometry()
Definition: CbmMvd.cxx:243
CbmMvd::Print
virtual void Print(Option_t *="") const
Definition: CbmMvd.cxx:192
CbmMvd::BeginEvent
virtual void BeginEvent()
Definition: CbmMvd.cxx:159
CbmMvd::ResetParameters
void ResetParameters()
Definition: CbmMvd.h:179
CbmMvd::AddHit
CbmMvdPoint * AddHit(Int_t trackID, Int_t pdg, Int_t sensorNr, TVector3 posIn, TVector3 pos_out, TVector3 momIn, TVector3 momOut, Double_t time, Double_t length, Double_t eLoss)
Definition: CbmMvd.cxx:264
CbmMvd::fStationMap
map< Int_t, Int_t > fStationMap
List of geometry parameters.
Definition: CbmMvd.h:144
CbmMvd::fMomIn
TLorentzVector fMomIn
position
Definition: CbmMvd.h:135
CbmMvd::fVolumeID
Int_t fVolumeID
track particle type
Definition: CbmMvd.h:133
CbmMvd::kGeoSaved
Bool_t kGeoSaved
The hit collection.
Definition: CbmMvd.h:142
CbmMvdPoint
Definition: CbmMvdPoint.h:28
CbmMvdGeoHandler
Definition: CbmMvdGeoHandler.h:37
CbmMvd::fTime
Double32_t fTime
momentum
Definition: CbmMvd.h:136
CbmMvd::fTrackID
Int_t fTrackID
Definition: CbmMvd.h:126
CbmMvd::ProcessHits
virtual Bool_t ProcessHits(FairVolume *vol=0)
Definition: CbmMvd.cxx:103
CbmMvd::CopyClones
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition: CbmMvd.cxx:209
CbmMvd::Register
virtual void Register()
Definition: CbmMvd.cxx:174
CbmMvd::fMomOut
TLorentzVector fMomOut
Definition: CbmMvd.h:135
CbmMvd::fCollection
TClonesArray * fCollection
Definition: CbmMvd.h:141
CbmMvd::Reset
virtual void Reset()
Definition: CbmMvd.cxx:200
CbmMvd::CbmMvd
CbmMvd()
Definition: CbmMvd.cxx:35
CbmMvdDetector
Definition: CbmMvdDetector.h:39
CbmMvd
Definition: CbmMvd.h:39
CbmMvd::CbmMvd
CbmMvd(const CbmMvd &)
CbmMvd::GetMap
virtual map< Int_t, Int_t > GetMap()
Definition: CbmMvd.h:126
CbmMvd::ClassDef
ClassDef(CbmMvd, 1)
CbmMvd::fPosIn
TLorentzVector fPosIn
volume id
Definition: CbmMvd.h:134
CbmMvd::fmvdHandler
CbmMvdGeoHandler * fmvdHandler
Map from MC volume ID to station number.
Definition: CbmMvd.h:146
CbmMvdMimosa26AHR.h
CbmMvd::CheckIfSensitive
virtual Bool_t CheckIfSensitive(std::string name)
Definition: CbmMvd.cxx:285
CbmMvd::ConstructRootGeometry
virtual void ConstructRootGeometry(TGeoMatrix *shift=NULL)
Definition: CbmMvd.cxx:247
CbmMvd::GetCollection
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition: CbmMvd.cxx:182
CbmMvd::fPosOut
TLorentzVector fPosOut
Definition: CbmMvd.h:134
CbmMvd::fELoss
Double32_t fELoss
length
Definition: CbmMvd.h:138
CbmMvd::fPdg
Int_t fPdg
track index
Definition: CbmMvd.h:132
CbmMvd::fPosIndex
Int_t fPosIndex
energy loss
Definition: CbmMvd.h:140