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
16
17
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 virtual void ConstructRootGeometry();
126
127 virtual Bool_t IsSensitive(const std::string& name);
128 virtual Bool_t CheckIfSensitive(std::string name);
129
130 virtual std::map<Int_t, Int_t> GetMap() { return fStationMap; };
131
132private:
138 TLorentzVector fPosIn, fPosOut;
139 TLorentzVector fMomIn, fMomOut;
140 Double32_t fTime;
141 Double32_t fLength;
142 Double32_t fELoss;
143
145 TClonesArray* fCollection;
147 TList* fGeoPar;
148 std::map<Int_t, Int_t> fStationMap;
149 Int_t fGeoFlag; // flag to distinguish mcbm geometry
150
152
158 CbmMvdPoint* AddHit(Int_t trackID, Int_t pdg, Int_t sensorNr, TVector3 posIn, TVector3 pos_out, TVector3 momIn,
159 TVector3 momOut, Double_t time, Double_t length, Double_t eLoss);
160
161
166 void ResetParameters();
167
168 CbmMvd(const CbmMvd&);
170
171
173};
174
175
177{
178 fTrackID = fVolumeID = 0;
179 fPosIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
180 fPosOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
181 fMomIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
182 fMomOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
183 fTime = fLength = fELoss = 0;
184 fPosIndex = 0;
185};
186
187
188#endif
int Int_t
bool Bool_t
TLorentzVector fMomOut
Definition CbmMvd.h:139
virtual void BeginEvent()
Definition CbmMvd.cxx:151
virtual void ConstructAsciiGeometry()
Definition CbmMvd.cxx:241
virtual void ConstructRootGeometry()
Definition CbmMvd.cxx:246
virtual void EndOfEvent()
Definition CbmMvd.cxx:156
Int_t fVolumeID
track particle type
Definition CbmMvd.h:137
virtual Bool_t CheckIfSensitive(std::string name)
Definition CbmMvd.cxx:294
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:265
CbmMvd & operator=(const CbmMvd &)
Int_t fPdg
track index
Definition CbmMvd.h:136
Double32_t fELoss
length
Definition CbmMvd.h:142
TLorentzVector fPosIn
volume id
Definition CbmMvd.h:138
TLorentzVector fPosOut
Definition CbmMvd.h:138
virtual void Print(Option_t *="") const
Definition CbmMvd.cxx:182
Bool_t kGeoSaved
The hit collection.
Definition CbmMvd.h:146
TList * fGeoPar
Definition CbmMvd.h:147
virtual void ConstructGeometry()
Definition CbmMvd.cxx:219
Double32_t fLength
time
Definition CbmMvd.h:141
CbmMvdGeoHandler * fmvdHandler
Definition CbmMvd.h:151
void ResetParameters()
Definition CbmMvd.h:176
TLorentzVector fMomIn
position
Definition CbmMvd.h:139
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition CbmMvd.cxx:172
TClonesArray * fCollection
Definition CbmMvd.h:145
virtual ~CbmMvd()
Definition CbmMvd.cxx:87
virtual void Reset()
Definition CbmMvd.cxx:191
virtual std::map< Int_t, Int_t > GetMap()
Definition CbmMvd.h:130
ClassDef(CbmMvd, 1)
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition CbmMvd.cxx:201
CbmMvd()
Definition CbmMvd.cxx:29
Int_t fGeoFlag
Map from MC volume ID to station number.
Definition CbmMvd.h:149
Int_t fPosIndex
energy loss
Definition CbmMvd.h:144
std::map< Int_t, Int_t > fStationMap
List of geometry parameters.
Definition CbmMvd.h:148
virtual void Register()
Definition CbmMvd.cxx:167
Double32_t fTime
momentum
Definition CbmMvd.h:140
virtual Bool_t ProcessHits(FairVolume *vol=0)
Definition CbmMvd.cxx:102
virtual Bool_t IsSensitive(const std::string &name)
Definition CbmMvd.cxx:277
Int_t fTrackID
Definition CbmMvd.h:135