#include <RPCSim.h>
Public Types | |
typedef edm::DetSet < StripDigiSimLink > | DigiSimLinks |
typedef edm::DetSet < RPCDigiSimLink > | RPCDigiSimLinks |
Public Member Functions | |
const DigiSimLinks & | digiSimLinks () const |
virtual void | fillDigis (int rollDetId, RPCDigiCollection &digis) |
RPCSimSetUp * | getRPCSimSetUp () |
const RPCDigiSimLinks & | rpcDigiSimLinks () const |
virtual void | setRandomEngine (CLHEP::HepRandomEngine &eng)=0 |
void | setRPCSimSetUp (RPCSimSetUp *setup) |
virtual void | simulate (const RPCRoll *roll, const edm::PSimHitContainer &rpcHits)=0 |
virtual void | simulateNoise (const RPCRoll *roll)=0 |
virtual | ~RPCSim () |
Protected Types | |
typedef std::multimap < std::pair< unsigned int, int > , const PSimHit *, std::less < std::pair< unsigned int, int > > > | DetectorHitMap |
Protected Member Functions | |
virtual void | addLinks (unsigned int strip, int bx) |
virtual void | init ()=0 |
RPCSim (const edm::ParameterSet &config) | |
Protected Attributes | |
std::set< std::pair< int, int > > | strips |
DetectorHitMap | theDetectorHitMap |
DigiSimLinks | theDigiSimLinks |
RPCDigiSimLinks | theRpcDigiSimLinks |
RPCSimSetUp * | theSimSetUp |
typedef std::multimap<std::pair<unsigned int,int>,const PSimHit*,std::less<std::pair<unsigned int, int> > > RPCSim::DetectorHitMap [protected] |
RPCSim::RPCSim | ( | const edm::ParameterSet & | config | ) | [protected] |
void RPCSim::addLinks | ( | unsigned int | strip, |
int | bx | ||
) | [protected, virtual] |
creates links from Digi to SimTrack disabled for now
Definition at line 28 of file RPCSim.cc.
References PSimHit::detUnitId(), PSimHit::energyLoss(), PSimHit::entryPoint(), PSimHit::eventId(), PSimHit::momentumAtEntry(), PSimHit::particleType(), PSimHit::processType(), edm::DetSet< T >::push_back(), theDetectorHitMap, theRpcDigiSimLinks, PSimHit::timeOfFlight(), and PSimHit::trackId().
Referenced by fillDigis().
{ std::pair<unsigned int, int > digi(strip, bx); std::pair<DetectorHitMap::iterator, DetectorHitMap::iterator> channelHitItr = theDetectorHitMap.equal_range(digi); for( DetectorHitMap::iterator hitItr = channelHitItr.first; hitItr != channelHitItr.second; ++hitItr){ const PSimHit * hit = (hitItr->second); if(hit != 0) { theRpcDigiSimLinks.push_back( RPCDigiSimLink(digi, hit->entryPoint(),hit->momentumAtEntry(), hit->timeOfFlight(),hit->energyLoss(),hit->particleType(), hit->detUnitId(), hit->trackId(), hit->eventId(), hit->processType() ) ); } } }
const DigiSimLinks& RPCSim::digiSimLinks | ( | ) | const [inline] |
void RPCSim::fillDigis | ( | int | rollDetId, |
RPCDigiCollection & | digis | ||
) | [virtual] |
Definition at line 10 of file RPCSim.cc.
References addLinks(), i, RPCDetId, and strips.
Referenced by RPCDigitizer::doAction().
{ // theRpcDigiSimLinks.clear(); std::vector<std::pair<int,int> > vdigi; vdigi.clear(); for (std::set< std::pair<int,int> >::iterator i=strips.begin(); i!=strips.end(); i++){ if(i->second != -999){ RPCDigi rpcDigi(i->first,i->second); //NCA digis.insertDigi(RPCDetId(rollDetId),rpcDigi); this->addLinks(i->first,i->second); } } strips.clear(); }
RPCSimSetUp* RPCSim::getRPCSimSetUp | ( | ) | [inline] |
Definition at line 47 of file RPCSim.h.
References theSimSetUp.
Referenced by RPCSimAverageNoiseEff::getClSize(), RPCSimAverageNoiseEffCls::getClSize(), RPCSimAverageNoise::getClSize(), RPCSimAverage::getClSize(), RPCSimAverageNoise::simulate(), RPCSimAverageNoiseEff::simulate(), RPCSimAverageNoiseEffCls::simulate(), RPCSimParam::simulate(), RPCSimTriv::simulate(), RPCSimSimple::simulate(), RPCSimAverage::simulate(), RPCSimAverageNoise::simulateNoise(), RPCSimAverageNoiseEff::simulateNoise(), and RPCSimAverageNoiseEffCls::simulateNoise().
{ return theSimSetUp; }
virtual void RPCSim::init | ( | ) | [protected, pure virtual] |
Implemented in RPCSimAverage, RPCSimAverageNoise, RPCSimAverageNoiseEff, RPCSimAverageNoiseEffCls, RPCSimParam, RPCSimSimple, and RPCSimTriv.
const RPCDigiSimLinks& RPCSim::rpcDigiSimLinks | ( | ) | const [inline] |
Definition at line 50 of file RPCSim.h.
References theRpcDigiSimLinks.
Referenced by RPCDigitizer::doAction().
{return theRpcDigiSimLinks;}
virtual void RPCSim::setRandomEngine | ( | CLHEP::HepRandomEngine & | eng | ) | [pure virtual] |
Implemented in RPCSimAverage, RPCSimAverageNoise, RPCSimAverageNoiseEff, RPCSimAverageNoiseEffCls, RPCSimParam, RPCSimSimple, and RPCSimTriv.
void RPCSim::setRPCSimSetUp | ( | RPCSimSetUp * | setup | ) | [inline] |
Definition at line 45 of file RPCSim.h.
References theSimSetUp.
Referenced by RPCDigitizer::doAction().
{theSimSetUp = setup;}
virtual void RPCSim::simulate | ( | const RPCRoll * | roll, |
const edm::PSimHitContainer & | rpcHits | ||
) | [pure virtual] |
Implemented in RPCSimAverage, RPCSimAverageNoise, RPCSimAverageNoiseEff, RPCSimAverageNoiseEffCls, RPCSimParam, RPCSimSimple, and RPCSimTriv.
Referenced by RPCDigitizer::doAction().
virtual void RPCSim::simulateNoise | ( | const RPCRoll * | roll | ) | [pure virtual] |
Implemented in RPCSimAverage, RPCSimAverageNoise, RPCSimAverageNoiseEff, RPCSimAverageNoiseEffCls, RPCSimParam, RPCSimSimple, and RPCSimTriv.
Referenced by RPCDigitizer::doAction().
std::set< std::pair<int,int> > RPCSim::strips [protected] |
Definition at line 57 of file RPCSim.h.
Referenced by fillDigis(), RPCSimAverageNoiseEff::simulate(), RPCSimAverageNoise::simulate(), RPCSimParam::simulate(), RPCSimAverageNoiseEffCls::simulate(), RPCSimTriv::simulate(), RPCSimSimple::simulate(), RPCSimAverage::simulate(), RPCSimAverageNoise::simulateNoise(), RPCSimTriv::simulateNoise(), RPCSimAverage::simulateNoise(), RPCSimSimple::simulateNoise(), RPCSimAverageNoiseEff::simulateNoise(), RPCSimParam::simulateNoise(), and RPCSimAverageNoiseEffCls::simulateNoise().
DetectorHitMap RPCSim::theDetectorHitMap [protected] |
Definition at line 68 of file RPCSim.h.
Referenced by addLinks(), RPCSimAverageNoiseEff::simulate(), RPCSimAverageNoise::simulate(), RPCSimParam::simulate(), RPCSimAverageNoiseEffCls::simulate(), RPCSimTriv::simulate(), RPCSimSimple::simulate(), and RPCSimAverage::simulate().
DigiSimLinks RPCSim::theDigiSimLinks [protected] |
Definition at line 69 of file RPCSim.h.
Referenced by digiSimLinks().
RPCDigiSimLinks RPCSim::theRpcDigiSimLinks [protected] |
Definition at line 70 of file RPCSim.h.
Referenced by addLinks(), rpcDigiSimLinks(), RPCSimAverageNoise::simulate(), RPCSimAverageNoiseEff::simulate(), RPCSimAverageNoiseEffCls::simulate(), RPCSimParam::simulate(), RPCSimTriv::simulate(), RPCSimSimple::simulate(), and RPCSimAverage::simulate().
RPCSimSetUp* RPCSim::theSimSetUp [protected] |
Definition at line 74 of file RPCSim.h.
Referenced by getRPCSimSetUp(), and setRPCSimSetUp().