SND@LHC Software
Loading...
Searching...
No Matches
splitcal.h
Go to the documentation of this file.
1#ifndef SPLITCAL_H
2#define SPLITCAL_H
3
4#include "FairDetector.h"
5
6#include "TVector3.h"
7#include "TLorentzVector.h"
8
9class splitcalPoint;
10class FairVolume;
11class TClonesArray;
12
13class splitcal: public FairDetector
14{
15
16 public:
17
22 splitcal(const char* Name, Bool_t Active);
23
25 splitcal();
26
28 virtual ~splitcal();
29
31 virtual void Initialize();
32
36 virtual Bool_t ProcessHits( FairVolume* v=0);
37
39 virtual void Register();
40
42 virtual TClonesArray* GetCollection(Int_t iColl) const ;
43
45 virtual void Reset();
46
47
48 void SetZStart(Double_t ZStart);
49 void SetEmpty(Double_t Empty, Double_t BigGap, Double_t ActiveECAL_gas_gap, Double_t first_precision_layer,Double_t second_precision_layer, Double_t third_precision_layer, Double_t num_precision_layers);
50
51 void SetThickness(Double_t ActiveECALThickness, Double_t ActiveHCALThickness, Double_t FilterECALThickness, Double_t FilterECALThickness_first, Double_t FilterHCALThickness, Double_t ActiveECAL_gas_Thickness);
52
53 void SetMaterial(Double_t ActiveECALMaterial, Double_t ActiveHCALMaterial, Double_t FilterECALMaterial, Double_t FilterHCALMaterial);
54
55 void SetNSamplings(Int_t nECALSamplings, Int_t nHCALSamplings, Double_t ActiveHCAL);
56
57 void SetNModules(Int_t nModulesInX, Int_t nModulesInY);
58
59 void SetNStrips(Int_t nStrips);
60
61 void SetStripSize(Double_t stripHalfWidth, Double_t stripHalfLength);
62
63 void SetXMax(Double_t xMax);
64
65 void SetYMax(Double_t yMax);
66
67
69 void ConstructGeometry();
70
71
72
76 splitcalPoint* AddHit(Int_t trackID, Int_t detID,
77 TVector3 pos, TVector3 mom,
78 Double_t time, Double_t length,
79 Double_t eLoss,Int_t pdgcode);
80
85 virtual void CopyClones( TClonesArray* cl1, TClonesArray* cl2 ,
86 Int_t offset) {;}
87 virtual void SetSpecialPhysicsCuts() {;}
88 virtual void EndOfEvent();
89 virtual void FinishPrimary() {;}
90 virtual void FinishRun() {;}
91 virtual void BeginPrimary() {;}
92 virtual void PostTrack() {;}
93 virtual void PreTrack() {;}
94 virtual void BeginEvent() {;}
95
96
97 private:
98
102 Int_t fTrackID;
103 Int_t fVolumeID;
104 TLorentzVector fPos;
105 TLorentzVector fMom;
106 Double_t fTime;
107 Double_t fLength;
108 Double_t fELoss;
113 Double_t fActiveHCAL;
114 Double_t fZStart;
115 Double_t fEmpty,fBigGap;
116 Double_t fXMax;
117 Double_t fYMax;
122
126
129 Int_t InitMedium(const char* name);
130
131 ClassDef(splitcal,1)
132};
133
134#endif //SPLITCAL_H
void SetStripSize(Double_t stripHalfWidth, Double_t stripHalfLength)
Definition splitcal.cxx:240
virtual void Reset()
Definition splitcal.cxx:179
Double_t fFilterHCALThickness
Definition splitcal.h:109
Double_t fLength
time
Definition splitcal.h:107
Double_t fnum_precision_layers
Definition splitcal.h:118
virtual ~splitcal()
Definition splitcal.cxx:65
TLorentzVector fMom
position at entrance
Definition splitcal.h:105
Double_t fActiveHCALThickness
Definition splitcal.h:109
TLorentzVector fPos
volume id
Definition splitcal.h:104
virtual void PostTrack()
Definition splitcal.h:92
virtual void BeginEvent()
Definition splitcal.h:94
splitcalPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgcode)
Definition splitcal.cxx:456
Double_t fELoss
length
Definition splitcal.h:108
Int_t fTrackID
Definition splitcal.h:102
Int_t fNModulesInY
Definition splitcal.h:119
void ConstructGeometry()
Definition splitcal.cxx:254
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition splitcal.cxx:173
virtual void FinishPrimary()
Definition splitcal.h:89
Double_t fFilterECALThickness_first
Definition splitcal.h:109
Double_t fActiveECALThickness
energy loss
Definition splitcal.h:109
Double_t fFilterHCALMaterial
Definition splitcal.h:110
void SetNModules(Int_t nModulesInX, Int_t nModulesInY)
Definition splitcal.cxx:229
splitcal & operator=(const splitcal &)
Double_t fActiveHCALMaterial
Definition splitcal.h:110
Double_t fthird_precision_layer
Definition splitcal.h:118
Double_t fActiveHCAL
Definition splitcal.h:113
void SetXMax(Double_t xMax)
Definition splitcal.cxx:246
virtual void EndOfEvent()
Definition splitcal.cxx:149
Int_t fNStripsPerModule
Definition splitcal.h:120
void SetZStart(Double_t ZStart)
Definition splitcal.cxx:184
virtual void BeginPrimary()
Definition splitcal.h:91
void SetNSamplings(Int_t nECALSamplings, Int_t nHCALSamplings, Double_t ActiveHCAL)
Definition splitcal.cxx:222
void SetYMax(Double_t yMax)
Definition splitcal.cxx:250
void SetThickness(Double_t ActiveECALThickness, Double_t ActiveHCALThickness, Double_t FilterECALThickness, Double_t FilterECALThickness_first, Double_t FilterHCALThickness, Double_t ActiveECAL_gas_Thickness)
Definition splitcal.cxx:201
Double_t xfFilterECALThickness
Definition splitcal.h:109
Double_t fFilterECALMaterial
Definition splitcal.h:110
Int_t fNModulesInX
Definition splitcal.h:119
Double_t fActiveECAL_gas_gap
Definition splitcal.h:111
Double_t fBigGap
Definition splitcal.h:115
Double_t fTime
momentum at entrance
Definition splitcal.h:106
Double_t fActiveECAL_gas_Thickness
Definition splitcal.h:111
Double_t fActiveECALMaterial
Definition splitcal.h:110
virtual void PreTrack()
Definition splitcal.h:93
Double_t fStripHalfLength
Definition splitcal.h:121
virtual void Register()
Definition splitcal.cxx:158
virtual void Initialize()
Definition splitcal.cxx:73
Double_t fEmpty
Definition splitcal.h:115
void SetNStrips(Int_t nStrips)
Definition splitcal.cxx:235
Double_t fZStart
Definition splitcal.h:114
Double_t fYMax
Definition splitcal.h:117
Int_t fnHCALSamplings
Definition splitcal.h:112
splitcal(const splitcal &)
virtual Bool_t ProcessHits(FairVolume *v=0)
Definition splitcal.cxx:100
Double_t fXMax
Definition splitcal.h:116
TClonesArray * fsplitcalPointCollection
Definition splitcal.h:125
virtual void FinishRun()
Definition splitcal.h:90
Int_t InitMedium(const char *name)
Definition splitcal.cxx:80
virtual void SetSpecialPhysicsCuts()
Definition splitcal.h:87
Double_t fsecond_precision_layer
Definition splitcal.h:118
Double_t ffirst_precision_layer
Definition splitcal.h:118
Double_t fStripHalfWidth
Definition splitcal.h:121
Double_t fFilterECALThickness
Definition splitcal.h:109
void SetEmpty(Double_t Empty, Double_t BigGap, Double_t ActiveECAL_gas_gap, Double_t first_precision_layer, Double_t second_precision_layer, Double_t third_precision_layer, Double_t num_precision_layers)
Definition splitcal.cxx:188
Int_t fnECALSamplings
Definition splitcal.h:112
Int_t fVolumeID
track index
Definition splitcal.h:103
void SetMaterial(Double_t ActiveECALMaterial, Double_t ActiveHCALMaterial, Double_t FilterECALMaterial, Double_t FilterHCALMaterial)
Definition splitcal.cxx:212
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Definition splitcal.h:85