CMS 3D CMS Logo

CastorElectronicsSim Class Reference

#include <SimCalorimetry/CastorSim/src/CastorElectronicsSim.h>

List of all members.

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

CastorAmplifiertheAmplifier
const CastorCoderFactorytheCoderFactory
CLHEP::RandFlat * theRandFlat
int theStartingCapId


Detailed Description

Definition at line 16 of file CastorElectronicsSim.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

void CastorElectronicsSim::analogToDigital ( CaloSamples linearFrame,
CastorDataFrame result 
)

Definition at line 37 of file CastorElectronicsSim.cc.

00037                                                                                      {
00038   convert<CastorDataFrame>(lf, result);
00039 }

template<class Digi>
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 }


Member Data Documentation

CastorAmplifier* CastorElectronicsSim::theAmplifier [private]

Definition at line 32 of file CastorElectronicsSim.h.

Referenced by convert(), and newEvent().

const CastorCoderFactory* CastorElectronicsSim::theCoderFactory [private]

Definition at line 33 of file CastorElectronicsSim.h.

Referenced by convert().

CLHEP::RandFlat* CastorElectronicsSim::theRandFlat [private]

Definition at line 34 of file CastorElectronicsSim.h.

Referenced by newEvent(), setRandomEngine(), and ~CastorElectronicsSim().

int CastorElectronicsSim::theStartingCapId [private]

Definition at line 36 of file CastorElectronicsSim.h.

Referenced by convert(), and newEvent().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:16:09 2009 for CMSSW by  doxygen 1.5.4