Class used to simulate hit on wire in Endcap Muon CSC.
- Author
- Rick Wilkinson
-
Tim Cox
Definition at line 27 of file CSCWireHitSim.h.
std::vector< LocalPoint > CSCWireHitSim::getIonizationClusters |
( |
const PSimHit & |
hit, |
|
|
const CSCLayer * |
layer, |
|
|
CLHEP::HepRandomEngine * |
engine |
|
) |
| |
|
private |
Definition at line 59 of file CSCWireHitSim.cc.
References HI_PhotonSkim_cff::electrons, PSimHit::entryPoint(), PSimHit::exitPoint(), CSCLayer::geometry(), CSCLayerGeometry::inside(), j, LogTrace, PSimHit::pabs(), PSimHit::particleType(), mps_update::results, CSCGasCollisions::simulate(), and theGasIonizer.
Referenced by simulate().
63 const LocalPoint & entryPoint = simHit.entryPoint();
64 const LocalPoint & exitPoint = simHit.exitPoint();
66 LogTrace(
"CSCWireHitSim") <<
"CSCWireHitSim:"
67 <<
" type=" << simHit.particleType()
68 <<
" mom=" << simHit.pabs()
69 <<
"\n Local entry " << entryPoint <<
" exit " << exitPoint;
71 std::vector<LocalPoint> positions;
75 std::vector<LocalPoint>
results;
78 for( std::vector<LocalPoint>::const_iterator pointItr = positions.begin();
79 pointItr != positions.end(); ++pointItr )
86 for(
int ie = 1; ie <= electrons[j-1]; ++ie ) {
89 if(CLHEP::RandFlat::shoot(engine) > f_att) {
90 results.push_back(*pointItr);
95 LogTrace(
"CSCWireHitSim") <<
"CSCWireHitSim: there are " << results.size()
96 <<
" clusters identified with each electron.";
CSCGasCollisions * theGasIonizer
bool inside(const Local3DPoint &, const LocalError &, float scale=1.f) const
void simulate(const PSimHit &, std::vector< LocalPoint > &clusters, std::vector< int > &electrons, CLHEP::HepRandomEngine *)
const CSCLayerGeometry * geometry() const