SND@LHC Software
Loading...
Searching...
No Matches
MuFilter.h
Go to the documentation of this file.
1//
2// MuFilter.h
3//
4// by A. Buonaura
5
6#ifndef MuFilter_H
7#define MuFilter_H
8
9#include "FairModule.h" // for FairModule
10#include "FairDetector.h"
11#include "SNDLHCEventHeader.h"
12
13#include "Rtypes.h" // for ShipMuonShield::Class, Bool_t, etc
14
15#include <string> // for string
16
17#include "TVector3.h"
18#include "TString.h"
19#include "TLorentzVector.h"
20
21class MuFilterPoint;
22class FairVolume;
23class TClonesArray;
24
25class MuFilter : public FairDetector
26{
27 public:
28 MuFilter(const char* name, Bool_t Active, const char* Title="MuonFilter");
29 MuFilter();
30 virtual ~MuFilter();
31
33 void ConstructGeometry();
34
36 void GetPosition(Int_t id, TVector3& vLeft, TVector3& vRight); // or top and bottom
37 void GetLocalPosition(Int_t id, TVector3& vLeft, TVector3& vRight);
38 Float_t GetCorrectedTime(Int_t id, Int_t c, Double_t t, Double_t L);
39 Int_t GetnSiPMs(Int_t detID);
40 Int_t GetnSides(Int_t detID);
41
43 void SetConfPar(TString name, Float_t value){conf_floats[name]=value;}
44 void SetConfPar(TString name, Int_t value){conf_ints[name]=value;}
45 void SetConfPar(TString name, TString value){conf_strings[name]=value;}
46 Float_t GetConfParF(TString name){return conf_floats[name];}
47 Int_t GetConfParI(TString name){return conf_ints[name];}
48 TString GetConfParS(TString name){return conf_strings[name];}
49
51 virtual void Initialize();
52
54 virtual Bool_t ProcessHits( FairVolume* v=0);
55
57 virtual void Register();
58
60 virtual TClonesArray* GetCollection(Int_t iColl) const ;
61
63 virtual void Reset();
64
67 MuFilterPoint* AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom,
68 Double_t time, Double_t length, Double_t eLoss, Int_t pdgCode);
69
70
71 virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 , Int_t offset) {;}
72 virtual void SetSpecialPhysicsCuts() {;}
73 virtual void EndOfEvent();
74 virtual void FinishPrimary() {;}
75 virtual void FinishRun() {;}
76 virtual void BeginPrimary() {;}
77 virtual void PostTrack() {;}
78 virtual void PreTrack() {;}
79 virtual void BeginEvent() {;}
80
83
84 ClassDef(MuFilter,4)
85
86 private:
87
89 Int_t fTrackID;
90 Int_t fVolumeID;
91 TLorentzVector fPos;
92 TLorentzVector fMom;
93 Double32_t fTime;
94 Double32_t fLength;
95 Double32_t fELoss;
96
99
101 std::map<TString,Float_t> conf_floats;
102 std::map<TString,Int_t> conf_ints;
103 std::map<TString,TString> conf_strings;
105
106 // Vector to store runs covered in the geometry file.
111 protected:
112
113 Int_t InitMedium(const char* name);
114};
115
116#endif
bool alignment_init
Definition MuFilter.h:110
virtual void FinishRun()
Definition MuFilter.h:75
void SetConfPar(TString name, TString value)
Definition MuFilter.h:45
Int_t GetnSides(Int_t detID)
Definition MuFilter.cxx:715
ClassDef(MuFilter, 4) private Int_t fVolumeID
track index
Definition MuFilter.h:84
void SetConfPar(TString name, Float_t value)
Definition MuFilter.h:43
void GetPosition(Int_t id, TVector3 &vLeft, TVector3 &vRight)
Definition MuFilter.cxx:639
Double32_t fLength
time
Definition MuFilter.h:94
TString last_time_alignment_tag
Definition MuFilter.h:108
virtual void SetSpecialPhysicsCuts()
Definition MuFilter.h:72
std::map< TString, Float_t > conf_floats
Definition MuFilter.h:101
virtual void BeginPrimary()
Definition MuFilter.h:76
void GetLocalPosition(Int_t id, TVector3 &vLeft, TVector3 &vRight)
Definition MuFilter.cxx:563
virtual void FinishPrimary()
Definition MuFilter.h:74
MuFilter(const MuFilter &)
Float_t GetCorrectedTime(Int_t id, Int_t c, Double_t t, Double_t L)
Definition MuFilter.cxx:579
void InitEvent(SNDLHCEventHeader *e)
Definition MuFilter.cxx:456
TString GetConfParS(TString name)
Definition MuFilter.h:48
virtual ~MuFilter()
Definition MuFilter.cxx:90
TLorentzVector fMom
position at entrance
Definition MuFilter.h:92
virtual void Reset()
Definition MuFilter.cxx:546
virtual void PostTrack()
Definition MuFilter.h:77
std::vector< int > covered_runs_time_alignment
Definition MuFilter.h:107
Int_t GetnSiPMs(Int_t detID)
Definition MuFilter.cxx:708
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition MuFilter.cxx:540
TLorentzVector fPos
volume id
Definition MuFilter.h:91
SNDLHCEventHeader * eventHeader
Definition MuFilter.h:104
virtual void EndOfEvent()
Definition MuFilter.cxx:521
Double32_t fELoss
length
Definition MuFilter.h:95
void ConstructGeometry()
Definition MuFilter.cxx:124
Double32_t fTime
momentum at entrance
Definition MuFilter.h:93
void SetConfPar(TString name, Int_t value)
Definition MuFilter.h:44
MuFilterPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgCode)
Definition MuFilter.cxx:552
Float_t GetConfParF(TString name)
Definition MuFilter.h:46
virtual void Initialize()
Definition MuFilter.cxx:98
std::map< TString, Int_t > conf_ints
Definition MuFilter.h:102
virtual void BeginEvent()
Definition MuFilter.h:79
std::map< TString, TString > conf_strings
Definition MuFilter.h:103
MuFilter & operator=(const MuFilter &)
virtual Bool_t ProcessHits(FairVolume *v=0)
Definition MuFilter.cxx:476
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition MuFilter.h:71
TClonesArray * fMuFilterPointCollection
energy loss
Definition MuFilter.h:98
int last_run_pos
Definition MuFilter.h:109
int last_run_time
Definition MuFilter.h:109
Int_t GetConfParI(TString name)
Definition MuFilter.h:47
virtual void Register()
Definition MuFilter.cxx:527
Int_t InitMedium(const char *name)
Definition MuFilter.cxx:104
virtual void PreTrack()
Definition MuFilter.h:78