CbmRoot
Loading...
Searching...
No Matches
CbmMvd.h
Go to the documentation of this file.
1/* Copyright (C) 2006-2019 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Volker Friese [committer], Philipp Sitzmann */
4
5// -------------------------------------------------------------------------
6// ----- CbmMvd header file -----
7// ----- Created 26/07/04 by V. Friese -----
8// -------------------------------------------------------------------------
9
18#ifndef CBMMVD_H
19#define CBMMVD_H 1
20
21#include <FairDetector.h> // for FairDetector
22
23#include <Rtypes.h> // for ClassDef
24#include <RtypesCore.h> // for Int_t, Bool_t, Double32_t, Double_t, Opt...
25#include <TLorentzVector.h> // for TLorentzVector
26#include <TVector3.h> // for TVector3
27
28#include <map> // for map
29#include <string> // for string
30
32class CbmMvdPoint;
33class FairVolume;
34class TBuffer;
35class TClass;
36class TClonesArray;
37class TGeoMatrix;
38class TList;
39class TMemberInspector;
40
41class CbmMvd : public FairDetector {
42
43public:
45 CbmMvd();
46
47
52 CbmMvd(const char* name, Bool_t active);
53
54
56 virtual ~CbmMvd();
57
58
66 virtual Bool_t ProcessHits(FairVolume* vol = 0);
67
68
70 virtual void BeginEvent();
71
72
78 virtual void EndOfEvent();
79
80
85 virtual void Register();
86
87
89 virtual TClonesArray* GetCollection(Int_t iColl) const;
90
91
96 virtual void Print(Option_t* = "") const;
97
98
103 virtual void Reset();
104
105
113 virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2, Int_t offset);
114
115
120 virtual void ConstructGeometry();
121
122 virtual void ConstructAsciiGeometry();
123
124 virtual void ConstructRootGeometry(TGeoMatrix* shift = nullptr);
125
126 virtual Bool_t IsSensitive(const std::string& name);
127 virtual Bool_t CheckIfSensitive(std::string name);
128
129 virtual std::map<Int_t, Int_t> GetMap() { return fStationMap; };
130
131private:
134 Int_t fTrackID;
135 Int_t fPdg;
136 Int_t fVolumeID;
137 TLorentzVector fPosIn, fPosOut;
138 TLorentzVector fMomIn, fMomOut;
139 Double32_t fTime;
140 Double32_t fLength;
141 Double32_t fELoss;
142
143 Int_t fPosIndex;
144 TClonesArray* fCollection;
145 Bool_t kGeoSaved;
146 TList* fGeoPar;
147 std::map<Int_t, Int_t> fStationMap;
148
150
156 CbmMvdPoint* AddHit(Int_t trackID, Int_t pdg, Int_t sensorNr, TVector3 posIn, TVector3 pos_out, TVector3 momIn,
157 TVector3 momOut, Double_t time, Double_t length, Double_t eLoss);
158
159
164 void ResetParameters();
165
166 CbmMvd(const CbmMvd&);
168
169
171};
172
173
175{
176 fTrackID = fVolumeID = 0;
177 fPosIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
178 fPosOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
179 fMomIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
180 fMomOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
181 fTime = fLength = fELoss = 0;
182 fPosIndex = 0;
183};
184
185
186#endif
TLorentzVector fMomOut
Definition CbmMvd.h:138
virtual void BeginEvent()
Definition CbmMvd.cxx:148
virtual void ConstructAsciiGeometry()
Definition CbmMvd.cxx:233
virtual void EndOfEvent()
Definition CbmMvd.cxx:153
Int_t fVolumeID
track particle type
Definition CbmMvd.h:136
virtual Bool_t CheckIfSensitive(std::string name)
Definition CbmMvd.cxx:279
CbmMvd(const CbmMvd &)
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:250
CbmMvd & operator=(const CbmMvd &)
Int_t fPdg
track index
Definition CbmMvd.h:135
Double32_t fELoss
length
Definition CbmMvd.h:141
TLorentzVector fPosIn
volume id
Definition CbmMvd.h:137
TLorentzVector fPosOut
Definition CbmMvd.h:137
virtual void Print(Option_t *="") const
Definition CbmMvd.cxx:179
Bool_t kGeoSaved
The hit collection.
Definition CbmMvd.h:145
TList * fGeoPar
Definition CbmMvd.h:146
virtual void ConstructGeometry()
Definition CbmMvd.cxx:216
Double32_t fLength
time
Definition CbmMvd.h:140
CbmMvdGeoHandler * fmvdHandler
Map from MC volume ID to station number.
Definition CbmMvd.h:149
void ResetParameters()
Definition CbmMvd.h:174
TLorentzVector fMomIn
position
Definition CbmMvd.h:138
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition CbmMvd.cxx:169
TClonesArray * fCollection
Definition CbmMvd.h:144
virtual ~CbmMvd()
Definition CbmMvd.cxx:85
virtual void Reset()
Definition CbmMvd.cxx:188
virtual std::map< Int_t, Int_t > GetMap()
Definition CbmMvd.h:129
ClassDef(CbmMvd, 1)
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition CbmMvd.cxx:198
CbmMvd()
Definition CbmMvd.cxx:29
Int_t fPosIndex
energy loss
Definition CbmMvd.h:143
std::map< Int_t, Int_t > fStationMap
List of geometry parameters.
Definition CbmMvd.h:147
virtual void Register()
Definition CbmMvd.cxx:164
Double32_t fTime
momentum
Definition CbmMvd.h:139
virtual void ConstructRootGeometry(TGeoMatrix *shift=nullptr)
Definition CbmMvd.cxx:237
virtual Bool_t ProcessHits(FairVolume *vol=0)
Definition CbmMvd.cxx:100
virtual Bool_t IsSensitive(const std::string &name)
Definition CbmMvd.cxx:262
Int_t fTrackID
Definition CbmMvd.h:134