CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
EcalCoder Class Reference

#include <EcalCoder.h>

Public Types

enum  { NBITS = 12, MAXADC = 4095, ADCGAINSWITCH = 4079, NGAINS = 3 }
 
typedef CaloTSamples< float, 10 > EcalSamples
 
typedef CorrelatedNoisifier
< EcalCorrMatrix
Noisifier
 

Public Member Functions

virtual void analogToDigital (CLHEP::HepRandomEngine *, const EcalSamples &clf, EcalDataFrame &df) const
 from EcalSamples to EcalDataFrame More...
 
 EcalCoder (bool addNoise, bool PreMix1, Noisifier *ebCorrNoise0, Noisifier *eeCorrNoise0=0, Noisifier *ebCorrNoise1=0, Noisifier *eeCorrNoise1=0, Noisifier *ebCorrNoise2=0, Noisifier *eeCorrNoise2=0)
 ctor More...
 
void setFullScaleEnergy (double EBscale, double EEscale)
 
void setGainRatios (const EcalGainRatios *gainRatios)
 
void setIntercalibConstants (const EcalIntercalibConstantsMC *ical)
 
void setPedestals (const EcalPedestals *pedestals)
 can be fetched every event from the EventSetup More...
 
virtual ~EcalCoder ()
 dtor More...
 

Private Member Functions

void encode (const EcalSamples &ecalSamples, EcalDataFrame &df, CLHEP::HepRandomEngine *) const
 produce the pulse-shape More...
 
void findGains (const DetId &detId, double theGains[]) const
 
void findIntercalibConstant (const DetId &detId, double &icalconst) const
 
void findPedestal (const DetId &detId, int gainId, double &pedestal, double &width) const
 not yet implemented More...
 
double fullScaleEnergy (const DetId &did) const
 limit on the energy scale due to the electronics range More...
 

Private Attributes

bool m_addNoise
 
const Noisifierm_ebCorrNoise [3]
 
const Noisifierm_eeCorrNoise [3]
 
const EcalGainRatiosm_gainRatios
 
const EcalIntercalibConstantsMCm_intercals
 
double m_maxEneEB
 
double m_maxEneEE
 
const EcalPedestalsm_peds
 
bool m_PreMix1
 

Detailed Description

Definition at line 26 of file EcalCoder.h.

Member Typedef Documentation

Definition at line 30 of file EcalCoder.h.

Definition at line 32 of file EcalCoder.h.

Member Enumeration Documentation

anonymous enum
Enumerator
NBITS 
MAXADC 
ADCGAINSWITCH 
NGAINS 

Definition at line 34 of file EcalCoder.h.

34  { NBITS = 12 , // number of available bits
35  MAXADC = 4095 , // 2^12 -1, adc max range
36  ADCGAINSWITCH = 4079 , // adc gain switch
37  NGAINS = 3 // number of electronic gains
38  };

Constructor & Destructor Documentation

EcalCoder::EcalCoder ( bool  addNoise,
bool  PreMix1,
EcalCoder::Noisifier ebCorrNoise0,
EcalCoder::Noisifier eeCorrNoise0 = 0,
EcalCoder::Noisifier ebCorrNoise1 = 0,
EcalCoder::Noisifier eeCorrNoise1 = 0,
EcalCoder::Noisifier ebCorrNoise2 = 0,
EcalCoder::Noisifier eeCorrNoise2 = 0 
)

ctor

Definition at line 12 of file EcalCoder.cc.

EcalCoder::~EcalCoder ( )
virtual

dtor

Definition at line 37 of file EcalCoder.cc.

Member Function Documentation

void EcalCoder::analogToDigital ( CLHEP::HepRandomEngine *  engine,
const EcalSamples clf,
EcalDataFrame df 
) const
virtual

from EcalSamples to EcalDataFrame

Definition at line 75 of file EcalCoder.cc.

Referenced by EcalElectronicsSim::analogToDigital().

void EcalCoder::encode ( const EcalSamples ecalSamples,
EcalDataFrame df,
CLHEP::HepRandomEngine *  engine 
) const
private

produce the pulse-shape

Definition at line 99 of file EcalCoder.cc.

void EcalCoder::findGains ( const DetId detId,
double  theGains[] 
) const
private

Definition at line 365 of file EcalCoder.cc.

void EcalCoder::findIntercalibConstant ( const DetId detId,
double &  icalconst 
) const
private

Definition at line 398 of file EcalCoder.cc.

void EcalCoder::findPedestal ( const DetId detId,
int  gainId,
double &  pedestal,
double &  width 
) const
private

not yet implemented

Definition at line 307 of file EcalCoder.cc.

double EcalCoder::fullScaleEnergy ( const DetId did) const
private

limit on the energy scale due to the electronics range

Definition at line 69 of file EcalCoder.cc.

void EcalCoder::setFullScaleEnergy ( double  EBscale,
double  EEscale 
)

Definition at line 42 of file EcalCoder.cc.

void EcalCoder::setGainRatios ( const EcalGainRatios gainRatios)

Definition at line 57 of file EcalCoder.cc.

void EcalCoder::setIntercalibConstants ( const EcalIntercalibConstantsMC ical)

Definition at line 63 of file EcalCoder.cc.

void EcalCoder::setPedestals ( const EcalPedestals pedestals)

can be fetched every event from the EventSetup

Definition at line 51 of file EcalCoder.cc.

Member Data Documentation

bool EcalCoder::m_addNoise
private

Definition at line 105 of file EcalCoder.h.

const Noisifier* EcalCoder::m_ebCorrNoise[3]
private

Definition at line 108 of file EcalCoder.h.

const Noisifier* EcalCoder::m_eeCorrNoise[3]
private

Definition at line 109 of file EcalCoder.h.

const EcalGainRatios* EcalCoder::m_gainRatios
private

Definition at line 98 of file EcalCoder.h.

const EcalIntercalibConstantsMC* EcalCoder::m_intercals
private

Definition at line 100 of file EcalCoder.h.

double EcalCoder::m_maxEneEB
private

Definition at line 102 of file EcalCoder.h.

double EcalCoder::m_maxEneEE
private

Definition at line 103 of file EcalCoder.h.

const EcalPedestals* EcalCoder::m_peds
private

Definition at line 96 of file EcalCoder.h.

bool EcalCoder::m_PreMix1
private

Definition at line 106 of file EcalCoder.h.