emcDataProcessor Class Reference
[Tower calibrationInterfaces]

#include <emcDataProcessor.h>

Inherited by emcDataProcessorv2.

Inheritance diagram for emcDataProcessor:

Inheritance graph
[legend]
List of all members.

Detailed Description

(ABC) Raw-to-calibrated-data processor.

Processing is decomposed in three steps:

1) decode() = unpacking the event (i.e. go from Packet structure to our internal structures)

2) toADCandTDC() = combine pre and post samples to make ADC and TDC counts

3) calibrate() = convert ADC and TDC into GeV and ns.

Each step might be performed separately for PbSc and PbGl.

In all three methods above, a null pointer for one of the emcTowerContainer pointer means "do not consider this calorimeter".

Definition at line 34 of file emcDataProcessor.h.

Public Member Functions

 emcDataProcessor ()
 Ctor.
virtual ~emcDataProcessor ()
virtual bool calibrate (emcTowerContainer *pbsc, emcTowerContainer *pbgl, time_t incrementalTime=0)=0
 Calibrate current event (ADC,TDC)->(Energy,TOF).
virtual bool decode (const Event &, emcTowerContainer *pbsc, emcTowerContainer *pbgl)=0
 Decode one event (Packet->H/L/pre/post/Tac) and fills seperately PbSc and PbGl towers.
virtual bool toADCandTDC (emcTowerContainer *pbsc, emcTowerContainer *pbgl, const emcBadModules &)=0
 After event decoding, get ADC and TDC values from H/L/pre/post/TAC values.


Constructor & Destructor Documentation

emcDataProcessor::emcDataProcessor  ) 
 

Ctor.

emcDataProcessor::~emcDataProcessor  )  [virtual]
 

Definition at line 11 of file emcDataProcessor.C.


Member Function Documentation

virtual bool emcDataProcessor::calibrate emcTowerContainer pbsc,
emcTowerContainer pbgl,
time_t  incrementalTime = 0
[pure virtual]
 

Calibrate current event (ADC,TDC)->(Energy,TOF).

See toADCandTDC for warning about pbsc/pbgl.

Implemented in emcDataProcessorv2.

Referenced by mEmcCalibratorModulev2::event(), and mEmcCalibratorModulev1::event().

virtual bool emcDataProcessor::decode const Event &  ,
emcTowerContainer pbsc,
emcTowerContainer pbgl
[pure virtual]
 

Decode one event (Packet->H/L/pre/post/Tac) and fills seperately PbSc and PbGl towers.

Implemented in emcDataProcessorv2.

Referenced by mEmcCalibratorModulev2::event(), and mEmcCalibratorModulev1::event().

virtual bool emcDataProcessor::toADCandTDC emcTowerContainer pbsc,
emcTowerContainer pbgl,
const emcBadModules
[pure virtual]
 

After event decoding, get ADC and TDC values from H/L/pre/post/TAC values.

You're supposed to give as input separately PbSc and PbGl towers. No further check is done about that. Is you mix things, you'll get garbage most probably ! If pbsc or pbgl is a null pointer, it will simply be ignored.

Implemented in emcDataProcessorv2.

Referenced by mEmcCalibratorModulev2::event(), and mEmcCalibratorModulev1::event().


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