10 : theDriftSim(driftSim),
22 std::vector<CSCDetectorHit> &
29 for (edm::PSimHitContainer::const_iterator hitItr = simHits.begin();
30 hitItr != simHits.end(); ++hitItr)
33 std::vector<LocalPoint> ionClusters
36 unsigned nClusters = ionClusters.size();
39 for(
unsigned icl = 0; icl < nClusters; ++icl) {
42 int nearestWire=geom->
nearestWire(ionClusters[icl]);
56 std::vector<LocalPoint>
63 LogTrace(
"CSCWireHitSim") <<
"CSCWireHitSim:"
65 <<
" mom=" << simHit.
pabs()
66 <<
"\n Local entry " << entryPoint <<
" exit " << exitPoint;
68 std::vector<LocalPoint> positions;
69 std::vector<int> electrons;
72 std::vector<LocalPoint>
results;
75 for( std::vector<LocalPoint>::const_iterator pointItr = positions.begin();
76 pointItr != positions.end(); ++pointItr )
83 for(
int ie = 1; ie <= electrons[j-1]; ++ie ) {
84 results.push_back(*pointItr);
88 LogTrace(
"CSCWireHitSim") <<
"CSCWireHitSim: there are " << results.size()
89 <<
" clusters identified with each electron.";
int nearestWire(const LocalPoint &lp) const
std::vector< Local3DPoint > getIonizationClusters(const PSimHit &hit, const CSCLayer *)
HepPDT::ParticleDataTable ParticleDataTable
CSCDriftSim * theDriftSim
Local3DPoint exitPoint() const
Exit point in the local Det frame.
void setRandomEngine(CLHEP::HepRandomEngine &engine)
float pabs() const
fast and more accurate access to momentumAtEntry().mag()
void setParticleDataTable(const ParticleDataTable *pdt)
void simulate(const PSimHit &, const CSCLayer *layer, std::vector< LocalPoint > &clusters, std::vector< int > &electrons)
void setRandomEngine(CLHEP::HepRandomEngine &engine)
CSCWireHitSim(CSCDriftSim *driftSim)
CSCGasCollisions * theGasIonizer
std::vector< CSCDetectorHit > & simulate(const CSCLayer *layer, const edm::PSimHitContainer &simHits)
CSCDetectorHit getWireHit(const Local3DPoint &ionClusterPosition, const CSCLayer *, int wire, const PSimHit &simHit)
bool inside(const Local3DPoint &, const LocalError &, float scale=1.f) const
std::vector< PSimHit > PSimHitContainer
std::vector< CSCDetectorHit > theNewWireHits
Local3DPoint entryPoint() const
Entry point in the local Det frame.
void setParticleDataTable(const ParticleDataTable *pdt)
const CSCLayerGeometry * geometry() const
void setRandomEngine(CLHEP::HepRandomEngine &engine)