49 {
50
51
52
53
55 {
57 }
58 else
59 for (
unsigned int i=0;
i != 4;
i++) energies.push_back( 0. );
60
61
64 {
65
66
67
68 static const double oneOverDeta = 10.;
69 static const double oneOverDphi = 32./
M_PI;
70
71
72
73 G4StepPoint* pre_step_point =
step->GetPreStepPoint();
74 G4StepPoint* post_step_point =
step->GetPostStepPoint();
75
76 G4ThreeVector startPoint = pre_step_point->GetPosition();
77 G4ThreeVector endPoint = post_step_point->GetPosition();
78 G4ThreeVector
p = (startPoint + endPoint) * 0.5;
79
80
81 G4double
eta = fabs(
p.pseudoRapidity() );
82 G4double
phi =
p.phi();
84
85#ifdef DEBUG_HITS
87#endif
88
89
90 G4int subdet = (
p.z() > 0.) ? 4 : -4;
94
95
96
97 G4int sampling = INT_MIN;
98 G4int region = INT_MIN;
100
102 sampling = 2;
103 region = 1;
105 }
106 else if (
eta < 1.5) {
107 sampling = 2;
108 region = 2;
110 }
111 else if (
eta < 1.6) {
112 sampling = 1;
113 region = 4;
115 }
116 else if (
eta < 1.8) {
117 sampling = 1;
118 region = 5;
120 }
121 else if (
eta < 3.2) {
122 sampling = 1;
123 region = 6;
125 }
126 else {
128 return false;
129 }
130
131
132
134 << subdet
135
137 << sampling
138 << region
141
142 }
143
144#ifdef DEBUG_HITS
147 << " ID=" << std::string(identifier)
148 << " energy=" << energy
149 << " energies=(" << energies[0]
150 << "," << energies[1]
151 << "," << energies[2]
152 << "," << energies[3] << ")");
153#endif
154
155
156 if ( identifier == LArG4Identifier() )
157 return false;
158
159 return true;
160 }
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