EMCalFEE Class Reference

#include <EmcFEM.h>

List of all members.


Detailed Description

Reads an Event and extract emcal data from it.

Does this for channels listed in EmcDynamicData object only. In addition this object creates its own arrays that keep information about errors occured during readout.

Definition at line 60 of file EmcFEM.h.

Public Member Functions

 EMCalFEE (EmcDynamicData *d, FEMlimits *l, int &status)
 Class object constructor.
virtual ~EMCalFEE ()
 Destructor frees memory allocated for readout status keeping arrays.
virtual int processEvent (Event *evt)
 Process an external event (usefull in offline).
virtual int getNextEvent (Eventiterator *it)
 Gets next event from Eventiterator. Eventiterator can be File or DDpool Eventiterator.
virtual int readNextEvent (Eventiterator *it)
 Read next event without processing it (used to scan through the input file).
virtual int convertNextEvent ()
 Process next event (assumed that event is already read-in).
const int * getFEMstatus ()
 Returns pointer to FEM readout status array.
int * getDataErrors ()
 Returns pointer to data errors array.
int * getRefErrors ()
 Returns pointer to references errors array. Error values are the same as for towers.
const cellsgetCells ()
 Returns pointer to the structure that contains AMU cell numbers for Pre, Post and TAC.
const evtInfogetEvtInfo ()
 returns pointer to Event info structure.
int getEvtLength ()
 Returns event length.
int getEvtType ()
 Returns event type.
int getEvtSequence ()
 Returns event number.
int getRunNumber ()
 Returns run number.

Protected Attributes

FEMlimitslim
EmcDynamicDatadd
int * FEMstatus
int * DataErrors
int * RefErrors
cellsEvtCells
evtInfo evtIn
Event * event


Constructor & Destructor Documentation

EMCalFEE::EMCalFEE EmcDynamicData d,
FEMlimits l,
int &  status
 

Class object constructor.

Status returns the result of object creation. If failed then status has notzero value.

Definition at line 30 of file EmcFEM.C.

References DataErrors, dd, event, EvtCells, evtIn, evtInfo::evtLength, evtInfo::evtRunNumber, evtInfo::evtSequence, evtInfo::evtType, FEMstatus, EmcDynamicData::getEmcSize(), EmcDynamicData::getnSM(), EmcDynamicData::getRefSize(), lim, and RefErrors.

EMCalFEE::~EMCalFEE  )  [virtual]
 

Destructor frees memory allocated for readout status keeping arrays.

Definition at line 71 of file EmcFEM.C.

References DataErrors, EvtCells, FEMstatus, and RefErrors.


Member Function Documentation

int EMCalFEE::convertNextEvent  )  [virtual]
 

Process next event (assumed that event is already read-in).

Definition at line 97 of file EmcFEM.C.

References event, and processEvent().

const cells* EMCalFEE::getCells  )  [inline]
 

Returns pointer to the structure that contains AMU cell numbers for Pre, Post and TAC.

Definition at line 124 of file EmcFEM.h.

References EvtCells.

Referenced by emcRawDataAccessor::GetRawDataObject().

int* EMCalFEE::getDataErrors  )  [inline]
 

Returns pointer to data errors array.

Possible errors: OK - no errors. HG_PRE_TOO_LOW - high gain Pre sample value is lower then minimal value stored in FEMlimits l structure. HG_POST_TOO_LOW - high gain Post sample value is lower then minimal value stored in FEMlimits l structure. HG_PRE_TOO_HIGH - high gain Pre sample value is higher then maximal value stored in FEMlimits l structure. HG_POST_TOO_HIGH - high gain Post sample value is higher then maximal value stored in FEMlimits l structure. LG_PRE_TOO_LOW - low gain Pre sample value is lower then minimal value stored in FEMlimits l structure. LG_POST_TOO_LOW - low gain Post sample value is lower then minimal value stored in FEMlimits l structure. LG_PRE_TOO_HIGH - low gain Pre sample value is higher then maximal value stored in FEMlimits l structure. LG_POST_TOO_HIGH - low gain Post sample value is higher then maximal value stored in FEMlimits l structure. The result in array element can be combination of these errors.

Definition at line 120 of file EmcFEM.h.

References DataErrors.

Referenced by emcRawDataAccessor::GetRawDataObject().

const evtInfo* EMCalFEE::getEvtInfo  )  [inline]
 

returns pointer to Event info structure.

Definition at line 126 of file EmcFEM.h.

References evtIn.

int EMCalFEE::getEvtLength  )  [inline]
 

Returns event length.

Definition at line 128 of file EmcFEM.h.

References evtIn, and evtInfo::evtLength.

int EMCalFEE::getEvtSequence  )  [inline]
 

Returns event number.

Definition at line 132 of file EmcFEM.h.

References evtIn, and evtInfo::evtSequence.

int EMCalFEE::getEvtType  )  [inline]
 

Returns event type.

Definition at line 130 of file EmcFEM.h.

References evtIn, and evtInfo::evtType.

const int* EMCalFEE::getFEMstatus  )  [inline]
 

Returns pointer to FEM readout status array.

Length of this array is equal to the number of FEMs. Each element keeps readout status of FEM. It can have the values:

NO_PACKET - means that there is no packet from this FEM in current event. All data are set to 0. WRONG_CELL_NUMBER - delay between pre and post samples or between pre and TAC is not equal to values stored in EmcDynamicData object (this object gets these delays from configuration file). OK - noproblems.

Definition at line 98 of file EmcFEM.h.

References FEMstatus.

int EMCalFEE::getNextEvent Eventiterator *  it  )  [virtual]
 

Gets next event from Eventiterator. Eventiterator can be File or DDpool Eventiterator.

Definition at line 78 of file EmcFEM.C.

References event, and processEvent().

Referenced by emcRawDataAccessor::GetNextEvent().

int* EMCalFEE::getRefErrors  )  [inline]
 

Returns pointer to references errors array. Error values are the same as for towers.

Definition at line 122 of file EmcFEM.h.

References RefErrors.

int EMCalFEE::getRunNumber  )  [inline]
 

Returns run number.

Definition at line 134 of file EmcFEM.h.

References evtIn, and evtInfo::evtRunNumber.

int EMCalFEE::processEvent Event *  evt  )  [virtual]
 

Process an external event (usefull in offline).

Definition at line 106 of file EmcFEM.C.

References DataErrors, dd, EvtCells, evtIn, evtInfo::evtLength, evtInfo::evtRunNumber, evtInfo::evtSequence, evtInfo::evtType, FEMstatus, EmcDynamicData::getEmcHG(), EmcDynamicData::getEmcLG(), EmcDynamicData::getEmcRaw(), EmcDynamicData::getEmcTAC(), EmcDynamicData::getnSM(), EmcDynamicData::getRefRaw(), EmcDynamicData::getSmMap(), HG_POST_TOO_HIGH, HG_POST_TOO_LOW, HG_PRE_TOO_HIGH, HG_PRE_TOO_LOW, j, LG_POST_TOO_HIGH, LG_POST_TOO_LOW, LG_PRE_TOO_HIGH, LG_PRE_TOO_LOW, lim, FEMlimits::maxAmp, cells::post, cells::pre, SHORT_FORMAT, cells::tac, and TAC_TOO_HIGH.

Referenced by convertNextEvent(), getNextEvent(), and emcRawDataAccessor::processEvent().

int EMCalFEE::readNextEvent Eventiterator *  it  )  [virtual]
 

Read next event without processing it (used to scan through the input file).

Definition at line 91 of file EmcFEM.C.

References event.


Member Data Documentation

int* EMCalFEE::DataErrors [protected]
 

Definition at line 66 of file EmcFEM.h.

Referenced by EMCalFEE(), getDataErrors(), processEvent(), and ~EMCalFEE().

EmcDynamicData* EMCalFEE::dd [protected]
 

Definition at line 64 of file EmcFEM.h.

Referenced by EMCalFEE(), and processEvent().

Event* EMCalFEE::event [protected]
 

Definition at line 71 of file EmcFEM.h.

Referenced by convertNextEvent(), EMCalFEE(), getNextEvent(), and readNextEvent().

cells* EMCalFEE::EvtCells [protected]
 

Definition at line 68 of file EmcFEM.h.

Referenced by EMCalFEE(), getCells(), processEvent(), and ~EMCalFEE().

evtInfo EMCalFEE::evtIn [protected]
 

Definition at line 69 of file EmcFEM.h.

Referenced by EMCalFEE(), getEvtInfo(), getEvtLength(), getEvtSequence(), getEvtType(), getRunNumber(), and processEvent().

int* EMCalFEE::FEMstatus [protected]
 

Definition at line 65 of file EmcFEM.h.

Referenced by EMCalFEE(), getFEMstatus(), processEvent(), and ~EMCalFEE().

FEMlimits* EMCalFEE::lim [protected]
 

Definition at line 63 of file EmcFEM.h.

Referenced by EMCalFEE(), and processEvent().

int* EMCalFEE::RefErrors [protected]
 

Definition at line 67 of file EmcFEM.h.

Referenced by EMCalFEE(), getRefErrors(), and ~EMCalFEE().


The documentation for this class was generated from the following files: