#include <SimCalorimetry/CastorSim/src/CastorElectronicsSim.h>
Public Member Functions | |
void | analogToDigital (CaloSamples &linearFrame, CastorDataFrame &result) |
CastorElectronicsSim (CastorAmplifier *amplifier, const CastorCoderFactory *coderFactory) | |
void | newEvent () |
Things that need to be initialized every event. | |
void | setRandomEngine (CLHEP::HepRandomEngine &engine) |
~CastorElectronicsSim () | |
Private Member Functions | |
template<class Digi> | |
void | convert (CaloSamples &frame, Digi &result) |
Private Attributes | |
CastorAmplifier * | theAmplifier |
const CastorCoderFactory * | theCoderFactory |
CLHEP::RandFlat * | theRandFlat |
int | theStartingCapId |
Definition at line 16 of file CastorElectronicsSim.h.
CastorElectronicsSim::CastorElectronicsSim | ( | CastorAmplifier * | amplifier, | |
const CastorCoderFactory * | coderFactory | |||
) |
Definition at line 9 of file CastorElectronicsSim.cc.
00010 : theAmplifier(amplifier), 00011 theCoderFactory(coderFactory), 00012 theRandFlat(0), 00013 theStartingCapId(0) 00014 { 00015 }
CastorElectronicsSim::~CastorElectronicsSim | ( | ) |
Definition at line 18 of file CastorElectronicsSim.cc.
References theRandFlat.
00019 { 00020 delete theRandFlat; 00021 }
void CastorElectronicsSim::analogToDigital | ( | CaloSamples & | linearFrame, | |
CastorDataFrame & | result | |||
) |
void CastorElectronicsSim::convert | ( | CaloSamples & | frame, | |
Digi & | result | |||
) | [inline, private] |
Definition at line 31 of file CastorElectronicsSim.cc.
References CastorAmplifier::amplify(), CastorCoderFactory::coder(), CaloSamples::id(), CaloSamples::size(), theAmplifier, theCoderFactory, and theStartingCapId.
00031 { 00032 result.setSize(frame.size()); 00033 theAmplifier->amplify(frame); 00034 theCoderFactory->coder(frame.id())->fC2adc(frame, result, theStartingCapId); 00035 }
void CastorElectronicsSim::newEvent | ( | ) |
Things that need to be initialized every event.
Definition at line 41 of file CastorElectronicsSim.cc.
References CastorAmplifier::setStartingCapId(), theAmplifier, theRandFlat, and theStartingCapId.
00041 { 00042 // pick a new starting Capacitor ID 00043 theStartingCapId = theRandFlat->fireInt(4); 00044 theAmplifier->setStartingCapId(theStartingCapId); 00045 }
void CastorElectronicsSim::setRandomEngine | ( | CLHEP::HepRandomEngine & | engine | ) |
Definition at line 24 of file CastorElectronicsSim.cc.
References theRandFlat.
Referenced by CastorDigiProducer::CastorDigiProducer().
00025 { 00026 theRandFlat = new CLHEP::RandFlat(engine); 00027 }
const CastorCoderFactory* CastorElectronicsSim::theCoderFactory [private] |
CLHEP::RandFlat* CastorElectronicsSim::theRandFlat [private] |
Definition at line 34 of file CastorElectronicsSim.h.
Referenced by newEvent(), setRandomEngine(), and ~CastorElectronicsSim().
int CastorElectronicsSim::theStartingCapId [private] |