CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

CastorCoderDb Class Reference

#include <CastorCoderDb.h>

Inheritance diagram for CastorCoderDb:
CastorCoder

List of all members.

Public Member Functions

virtual void adc2fC (const CastorDataFrame &df, CaloSamples &lf) const
 CastorCoderDb (const CastorQIECoder &fCoder, const CastorQIEShape &fShape)
virtual void fC2adc (const CaloSamples &clf, CastorDataFrame &df, int fCapIdOffset) const

Private Member Functions

template<class Digi >
void adc2fC_ (const Digi &df, CaloSamples &clf) const
template<class Digi >
void fC2adc_ (const CaloSamples &clf, Digi &df, int fCapIdOffset) const

Private Attributes

const CastorQIECodermCoder
const CastorQIEShapemShape

Detailed Description

coder which uses DB services to convert to fC

Definition at line 17 of file CastorCoderDb.h.


Constructor & Destructor Documentation

CastorCoderDb::CastorCoderDb ( const CastorQIECoder fCoder,
const CastorQIEShape fShape 
)

Definition at line 11 of file CastorCoderDB.cc.

  : mCoder (&fCoder),
    mShape (&fShape)
{}

Member Function Documentation

void CastorCoderDb::adc2fC ( const CastorDataFrame df,
CaloSamples lf 
) const [virtual]

Implements CastorCoder.

Definition at line 34 of file CastorCoderDB.cc.

References adc2fC_().

{adc2fC_ (df, lf);}
template<class Digi >
void CastorCoderDb::adc2fC_ ( const Digi &  df,
CaloSamples clf 
) const [private]

Definition at line 16 of file CastorCoderDB.cc.

References ecalMGPA::adc(), CastorQIECoder::charge(), i, mCoder, mShape, and CaloSamples::setPresamples().

Referenced by adc2fC().

                                                                                         {
  clf=CaloSamples(df.id(),df.size());
  for (int i=0; i<df.size(); i++) {
    clf[i]=mCoder->charge (*mShape, df[i].adc (), df[i].capid ());
  }
  clf.setPresamples(df.presamples());
}
void CastorCoderDb::fC2adc ( const CaloSamples clf,
CastorDataFrame df,
int  fCapIdOffset 
) const [virtual]

Implements CastorCoder.

Definition at line 36 of file CastorCoderDB.cc.

References fC2adc_().

{fC2adc_ (clf, df, fCapIdOffset);}
template<class Digi >
void CastorCoderDb::fC2adc_ ( const CaloSamples clf,
Digi &  df,
int  fCapIdOffset 
) const [private]

Definition at line 24 of file CastorCoderDB.cc.

References CastorQIECoder::adc(), i, CaloSamples::id(), mCoder, mShape, CaloSamples::presamples(), and CaloSamples::size().

Referenced by fC2adc().

                                                                                                           {
  df = Digi (clf.id ());
  df.setSize (clf.size ());
  df.setPresamples (clf.presamples ());
  for (int i=0; i<clf.size(); i++) {
    int capId = (fCapIdOffset + i) % 4;
    df.setSample(i, HcalQIESample(mCoder->adc(*mShape, clf[i], capId), capId, 0, 0));
  }
}

Member Data Documentation

Definition at line 29 of file CastorCoderDb.h.

Referenced by adc2fC_(), and fC2adc_().

Definition at line 30 of file CastorCoderDb.h.

Referenced by adc2fC_(), and fC2adc_().