51 {
52
53
54
55
57 {
59 }
60 else
61 for (
unsigned int i=0;
i != 4;
i++) energies.push_back( 0. );
62
63
66 {
67
68
69
70 static const double oneOverDeta = 10.;
71 static const double oneOverDphi = 32./
M_PI;
72
73
74
75 G4StepPoint* pre_step_point =
step->GetPreStepPoint();
76 G4StepPoint* post_step_point =
step->GetPostStepPoint();
77
78 G4ThreeVector startPoint = pre_step_point->GetPosition();
79 G4ThreeVector endPoint = post_step_point->GetPosition();
80 G4ThreeVector
p = (startPoint + endPoint) * 0.5;
81
82
83 G4double
eta = fabs(
p.pseudoRapidity() );
84 G4double
phi =
p.phi();
86
87#ifdef DEBUG_HITS
89#endif
90
91
92 G4int subdet = (
p.z() > 0.) ? 4 : -4;
96
97
98
99 G4int sampling = INT_MIN;
100 G4int region = INT_MIN;
102
104 sampling = 2;
105 region = 1;
107 }
108 else if (
eta < 1.5) {
109 sampling = 2;
110 region = 2;
112 }
113 else if (
eta < 1.6) {
114 sampling = 1;
115 region = 4;
117 }
118 else if (
eta < 1.8) {
119 sampling = 1;
120 region = 5;
122 }
123 else if (
eta < 3.2) {
124 sampling = 1;
125 region = 6;
127 }
128 else {
130 return false;
131 }
132
133
134
136 << subdet
137
139 << sampling
140 << region
143
144 }
145
146#ifdef DEBUG_HITS
149 << " ID=" << std::string(identifier)
150 << " energy=" << energy
151 << " energies=(" << energies[0]
152 << "," << energies[1]
153 << "," << energies[2]
154 << "," << energies[3] << ")");
155#endif
156
157
158 if ( identifier == LArG4Identifier() )
159 return false;
160
161 return true;
162 }
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_MSG_WARNING(x)
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
CaloG4::SimulationEnergies m_energyCalculator
const std::string process
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setPhiMap phiBin
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap etaBin