#include <HitDigitizerFP420.h>
|
typedef std::map< int, float, std::less< int > > | hit_map_type |
|
|
| HitDigitizerFP420 (float in, float ild, float ildx, float ildy, float in0, float in2, float in3, int verbosity) |
|
hit_map_type | processHit (const PSimHit &, const G4ThreeVector &, int, int, double, int, double, double, int) |
|
void | setChargeCollectionDrifter (CDrifterFP420 *cd) |
|
void | setChargeDivider (CDividerFP420 *cd) |
|
void | setInduceChargeOnElectrods (IChargeFP420 *cd) |
|
| ~HitDigitizerFP420 () |
|
Definition at line 16 of file HitDigitizerFP420.h.
◆ hit_map_type
◆ HitDigitizerFP420()
HitDigitizerFP420::HitDigitizerFP420 |
( |
float |
in, |
|
|
float |
ild, |
|
|
float |
ildx, |
|
|
float |
ildy, |
|
|
float |
in0, |
|
|
float |
in2, |
|
|
float |
in3, |
|
|
int |
verbosity |
|
) |
| |
◆ ~HitDigitizerFP420()
HitDigitizerFP420::~HitDigitizerFP420 |
( |
| ) |
|
◆ DriftDirection()
G4ThreeVector HitDigitizerFP420::DriftDirection |
( |
const G4ThreeVector & |
_bfield, |
|
|
int |
xytype, |
|
|
int |
verbosity |
|
) |
| |
|
private |
Definition at line 231 of file HitDigitizerFP420.cc.
236 const G4ThreeVector &Bfield = _bfield;
237 float dir_x, dir_y, dir_z;
257 else if (xytype == 1) {
265 std::cout <<
"HitDigitizerFP420: ERROR - wrong xytype=" << xytype << std::endl;
269 G4ThreeVector theDriftDirection(dir_x, dir_y, dir_z);
274 std::cout <<
"HitDigitizerFP420:DriftDirection The drift direction in "
275 "local coordinate is "
276 << theDriftDirection << std::endl;
279 return theDriftDirection;
References gather_cfg::cout, and HIPAlignmentAlgorithm_cfi::verbosity.
◆ processHit()
HitDigitizerFP420::hit_map_type HitDigitizerFP420::processHit |
( |
const PSimHit & |
hit, |
|
|
const G4ThreeVector & |
bfield, |
|
|
int |
xytype, |
|
|
int |
numStrips, |
|
|
double |
pitch, |
|
|
int |
numStripsW, |
|
|
double |
pitchW, |
|
|
double |
moduleThickness, |
|
|
int |
verbosity |
|
) |
| |
Definition at line 126 of file HitDigitizerFP420.cc.
138 float middlex = (
hit.exitPoint().
x() +
hit.entryPoint().
x()) / 2.;
139 float middley = (
hit.exitPoint().
y() +
hit.entryPoint().
y()) / 2.;
141 float chargePosition = -100.;
153 chargePosition = 0.5 * (numStrips) + middlex / pitch;
157 else if (xytype == 2) {
166 chargePosition = 0.5 * (numStrips) + middley / pitch;
171 std::cout <<
"================================================================" << std::endl;
172 std::cout <<
"**** HitDigitizerFP420: !!! ERROR: you have not to be "
174 << xytype << std::endl;
181 if (chargePosition > numStrips || chargePosition < 0) {
182 std::cout <<
"**** HitDigitizerFP420: !!! ERROR: check correspondence of XY "
183 "detector dimensions in XML and here !!! chargePosition = "
184 << chargePosition << std::endl;
189 std::cout <<
" ====== **** HitDigitizerFP420: !!! processHit !!! : "
191 << xytype <<
" numStrips= " << numStrips <<
" pitch= " << pitch
192 <<
" Calculated chargePosition= " << chargePosition << std::endl;
193 std::cout <<
"The middle of hit point on input was: middlex = " << middlex << std::endl;
194 std::cout <<
"The middle of hit point on input was: middley = " << middley << std::endl;
197 std::cout <<
" ====== **** HitDigitizerFP420:processHit: start "
198 "CDrifterFP420 divide"
214 std::cout <<
" ====== **** HitDigitizerFP420:processHit: driftDir= " << driftDir << std::endl;
215 std::cout <<
" ====== **** HitDigitizerFP420:processHit: start "
216 "induce , CDrifterFP420 drift "
References gather_cfg::cout, HIPAlignmentAlgorithm_cfi::verbosity, hit::x, and hit::y.
Referenced by FP420DigiMain::run().
◆ setChargeCollectionDrifter()
void HitDigitizerFP420::setChargeCollectionDrifter |
( |
CDrifterFP420 * |
cd | ) |
|
|
inline |
◆ setChargeDivider()
◆ setInduceChargeOnElectrods()
void HitDigitizerFP420::setInduceChargeOnElectrods |
( |
IChargeFP420 * |
cd | ) |
|
|
inline |
◆ appliedVoltage
double HitDigitizerFP420::appliedVoltage |
|
private |
◆ chargeDistributionRMS
double HitDigitizerFP420::chargeDistributionRMS |
|
private |
◆ chargeMobility
double HitDigitizerFP420::chargeMobility |
|
private |
◆ depletionVoltage
double HitDigitizerFP420::depletionVoltage |
|
private |
◆ gevperelectron
double HitDigitizerFP420::gevperelectron |
|
private |
◆ moduleThickness
double HitDigitizerFP420::moduleThickness |
|
private |
◆ noDiffusion
bool HitDigitizerFP420::noDiffusion |
|
private |
◆ tanLorentzAnglePerTesla
float HitDigitizerFP420::tanLorentzAnglePerTesla |
|
private |
◆ temperature
double HitDigitizerFP420::temperature |
|
private |
◆ theCDividerFP420
◆ theCDrifterFP420
◆ theIChargeFP420
virtual hit_map_type induce(const CDrifterFP420::collection_type &, int, double, int, double, int, int)=0