4 #include "CLHEP/Random/RandFlat.h"
5 #include "CLHEP/Random/RandPoissonQ.h"
17 theLuminosity(pset.getParameter<double>(
"luminosity")),
18 theStartTime(pset.getParameter<double>(
"startTime")),
19 theEndTime(pset.getParameter<double>(
"endTime")),
20 theEventOccupancy(pset.getParameter<vector<double> >(
"eventOccupancy"))
32 else if (reader ==
"ROOT")
69 for(
int i = 0;
i < nEventsToAdd; ++
i) {
72 vector<PSimHit> neutronHits;
75 for( vector<PSimHit>::const_iterator neutronHitItr = neutronHits.begin();
76 neutronHitItr != neutronHits.end(); ++neutronHitItr)
78 const PSimHit & rawHit = *neutronHitItr;
82 rawHit.
tof()+timeOffset,
87 result.push_back(
hit);
T getParameter(std::string const &) const
std::vector< double > theEventOccupancy
float tof() const
deprecated name for timeOfFlight()
Geom::Theta< float > thetaAtEntry() const
fast and more accurate access to momentumAtEntry().theta()
CLHEP::RandPoissonQ * theRandPoisson
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
CLHEP::RandFlat * theRandFlat
SubsystemNeutronReader(const edm::ParameterSet &pset)
std::vector< int > theChambersDone
just makes sure chambers aren't done twice
Local3DPoint exitPoint() const
Exit point in the local Det frame.
NeutronReader * theHitReader
virtual ~SubsystemNeutronReader()
virtual int detId(int chamberIndex, int localDetId)=0
float pabs() const
fast and more accurate access to momentumAtEntry().mag()
float theEventsInWindow
how many collsions happened between theStartTime and theEndTime
unsigned short processType() const
virtual void readNextEvent(int chamberType, edm::PSimHitContainer &result)=0
float energyLoss() const
The energy deposit in the PSimHit, in ???.
void setRandomEngine(CLHEP::HepRandomEngine &engine)
unsigned int trackId() const
Geom::Phi< float > phiAtEntry() const
fast and more accurate access to momentumAtEntry().phi()
std::vector< PSimHit > PSimHitContainer
Local3DPoint entryPoint() const
Entry point in the local Det frame.
float theLuminosity
in units of 10**34, set by Muon:NeutronLuminosity
void generateChamberNoise(int chamberType, int chamberIndex, edm::PSimHitContainer &result)
unsigned int detUnitId() const