SND@LHC Software
Loading...
Searching...
No Matches
simpleTarget.h
Go to the documentation of this file.
1#ifndef simpleTarget_H
2#define simpleTarget_H
3
4#include "FairDetector.h"
5#include "TVector3.h"
6#include "TLorentzVector.h"
7#include "TGeoVolume.h"
8#include "vetoPoint.h"
9#include <map>
10
11class FairVolume;
12class TClonesArray;
13
14class simpleTarget: public FairDetector
15{
16
17 public:
18
23 simpleTarget(const char* Name, Bool_t Active);
24
27
29 virtual ~simpleTarget();
30
32 virtual void Initialize();
33
37 virtual Bool_t ProcessHits( FairVolume* v=0);
38
40 virtual void Register();
41
43 virtual TClonesArray* GetCollection(Int_t iColl) const ;
44
46 virtual void Reset();
47
49 void ConstructGeometry();
50
55 virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 ,
56 Int_t offset) {;}
57 virtual void SetSpecialPhysicsCuts() {;}
58 virtual void EndOfEvent();
59 virtual void FinishPrimary() {;}
60 virtual void FinishRun() {;}
61 virtual void BeginPrimary() {;}
62 virtual void PostTrack() {;}
63 virtual void PreTrack();
64 virtual void BeginEvent() {;}
65
66 vetoPoint* AddHit(Int_t trackID, Int_t detID,
67 TVector3 pos, TVector3 mom,
68 Double_t time, Double_t length,
69 Double_t eLoss,Int_t pdgcode,TVector3 Lpos, TVector3 Lmom);
70 inline void SetEnergyCut(Float_t emax) {EMax=emax;}// min energy to be copied to Geant4
71 inline void SetOnlyMuons(){fOnlyMuons=kTRUE;}
72 inline void SetFastMuon(){fFastMuon=kTRUE;}
73 inline void SetParameters(TString m,Float_t l,Float_t z){fMaterial=m;fThick=l;fzPos=z;}
74
75 private:
76
80 Int_t fTrackID;
81 Int_t fVolumeID;
82 TLorentzVector fPos;
83 TLorentzVector fMom;
84 Double_t fTime;
85 Double_t fLength;
86 Double_t fzPos;
87 Double_t fThick;
88 Double_t fELoss;
89 Double_t fTotalEloss;
90 TString fMaterial;
91 Float_t EMax;
92 Bool_t fOnlyMuons;
93 Bool_t fFastMuon;
94 TFile* fout;
97 ClassDef(simpleTarget, 0)
98};
99
100#endif //simpleTarget_H
Double_t m
Double_t fLength
time
virtual ~simpleTarget()
virtual void EndOfEvent()
void SetEnergyCut(Float_t emax)
Double_t fELoss
thickness
Bool_t fOnlyMuons
max energy to transport
vetoPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgcode, TVector3 Lpos, TVector3 Lmom)
virtual void Reset()
void SetFastMuon()
virtual void FinishRun()
TLorentzVector fMom
position at entrance
Double_t fzPos
length
virtual void Initialize()
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
virtual void SetSpecialPhysicsCuts()
simpleTarget(const char *Name, Bool_t Active)
Double_t fTime
momentum at entrance
TClonesArray * fsimpleTargetPointCollection
void SetOnlyMuons()
Int_t fVolumeID
track index
Float_t EMax
material
TLorentzVector fPos
volume id
virtual void Register()
Double_t fTotalEloss
virtual void BeginEvent()
void ConstructGeometry()
TFile * fout
for fast processing
virtual void PreTrack()
TString fMaterial
virtual void FinishPrimary()
Bool_t fFastMuon
virtual void PostTrack()
virtual Bool_t ProcessHits(FairVolume *v=0)
Double_t fThick
zPos
virtual TClonesArray * GetCollection(Int_t iColl) const
virtual void BeginPrimary()
void SetParameters(TString m, Float_t l, Float_t z)