SND@LHC Software
Loading...
Searching...
No Matches
DriftTube.h
Go to the documentation of this file.
1//
2// DriftTube.h
3//
4// S. Ilieva
5// April 2025
6//
7#ifndef SHIPLHC_DRIFTTUBE_H_
8#define SHIPLHC_DRIFTTUBE_H_
9
10#include "FairDetector.h"
11#include "Rtypes.h" // for ShipMuonShield::Class, Bool_t, etc
12#include "TLorentzVector.h"
13
14class DriftTubePoint;
15class FairVolume;
16class TVector3;
17class TClonesArray;
18
19class DriftTube : public FairDetector {
20public:
21 DriftTube(const char *name, Bool_t Active, const char *Title = "DriftTube");
22 DriftTube();
23 virtual ~DriftTube();
24
26 void ConstructGeometry();
27
28 void SetConfPar(TString name, Float_t value) { conf_floats[name] = value; }
29 void SetConfPar(TString name, Int_t value) { conf_ints[name] = value; }
30 void SetConfPar(TString name, TString value) { conf_strings[name] = value; }
32 void GetPosition(Int_t detID, TVector3 &A, TVector3 &B);
33 Float_t GetConfParF(TString name) { return conf_floats[name]; }
34 Int_t GetConfParI(TString name) { return conf_ints[name]; }
35 TString GetConfParS(TString name) { return conf_strings[name]; }
36
38 virtual void Initialize();
39
43 virtual Bool_t ProcessHits(FairVolume *v = 0);
44
46 virtual void Register();
47
49 virtual TClonesArray *GetCollection(Int_t iColl) const;
50
52 virtual void Reset();
53
56 DriftTubePoint *AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length,
57 Double_t eLoss, Int_t pdgCode);
58
63 virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset) { ; }
64 virtual void SetSpecialPhysicsCuts() { ; }
65 virtual void EndOfEvent();
66 virtual void FinishPrimary() { ; }
67 virtual void FinishRun() { ; }
68 virtual void BeginPrimary() { ; }
69 virtual void PostTrack() { ; }
70 virtual void PreTrack() { ; }
71 virtual void BeginEvent() { ; }
72
75
76private:
80 Int_t fTrackID;
81 Int_t fVolumeID;
82 TLorentzVector fEntryPoint;
83 TLorentzVector fMom;
84 Double32_t fTime;
85 Double32_t fLength;
86 Double32_t fELoss;
90 std::map<TString, Float_t> conf_floats;
91 std::map<TString, Int_t> conf_ints;
92 std::map<TString, TString> conf_strings;
93
94ClassDef(DriftTube, 1)
95
96 protected :
97
98 Int_t InitMedium(const char *name);
99};
100
101#endif // SHIPLHC_DRIFTTUBE_H_
Int_t fTrackID
Definition DriftTube.h:80
DriftTubePoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgCode)
virtual void FinishPrimary()
Definition DriftTube.h:66
Double32_t fLength
time
Definition DriftTube.h:85
std::map< TString, TString > conf_strings
Definition DriftTube.h:92
std::map< TString, Int_t > conf_ints
Definition DriftTube.h:91
Int_t GetConfParI(TString name)
Definition DriftTube.h:34
Double32_t fTime
momentum at entrance
Definition DriftTube.h:84
Double32_t fELoss
length
Definition DriftTube.h:86
TLorentzVector fEntryPoint
volume id
Definition DriftTube.h:82
virtual Bool_t ProcessHits(FairVolume *v=0)
void SetConfPar(TString name, Float_t value)
Definition DriftTube.h:28
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition DriftTube.h:63
DriftTube(const DriftTube &)
virtual void Initialize()
Definition DriftTube.cxx:69
void GetPosition(Int_t detID, TVector3 &A, TVector3 &B)
TString GetConfParS(TString name)
Definition DriftTube.h:35
virtual ~DriftTube()
Definition DriftTube.cxx:61
virtual void FinishRun()
Definition DriftTube.h:67
virtual void BeginEvent()
Definition DriftTube.h:71
virtual void BeginPrimary()
Definition DriftTube.h:68
void SetConfPar(TString name, TString value)
Definition DriftTube.h:30
Int_t fVolumeID
track index
Definition DriftTube.h:81
Float_t GetConfParF(TString name)
Definition DriftTube.h:33
virtual void SetSpecialPhysicsCuts()
Definition DriftTube.h:64
virtual void Reset()
TClonesArray * fDriftTubePointCollection
energy loss
Definition DriftTube.h:88
std::map< TString, Float_t > conf_floats
Definition DriftTube.h:90
DriftTube & operator=(const DriftTube &)
void SetConfPar(TString name, Int_t value)
Definition DriftTube.h:29
virtual void PostTrack()
Definition DriftTube.h:69
virtual TClonesArray * GetCollection(Int_t iColl) const
TLorentzVector fMom
position at entrance
Definition DriftTube.h:83
void ConstructGeometry()
Definition DriftTube.cxx:94
virtual void PreTrack()
Definition DriftTube.h:70
virtual void EndOfEvent()
virtual void Register()