emcMixedDataObject Class Reference
[Old calibration software]

#include <emcMixedDataObject.h>

Inherits emcDataObject.

Inheritance diagram for emcMixedDataObject:

Inheritance graph
[legend]
List of all members.

Detailed Description

(OLD) Intermediate object between RDO and CDO.

Deprecated:
RDO = raw data object (that is, ADC counts, with pre and post stuff)

CDO = calibrated data object (that is, GeV and ns).

This MDO is ADC counts, with the pre-post operation done, pedestals are subtracted and H/L ratio already applied.

? FIXME ?

The information contained in this object would better fit in a more FEM-based object, whatever this can be, as there is no point in grouping the channels in one big blob at this point of the calibration operation. Only at the last stage (i.e. when you can get GeV and ns, i.e. the CDO level) does it make sense really.

Anyway, for the moment this class is used and is a little bit tricky as it shares some memory space with the RDO (look, that's really a dirty implementation detail, and should not appear here, but you need it to use this class properly, which is a very good sign that this class should disappear, don't you think so?). More tricky, this sharing is done through the base class emcDataObject (!) I was probably ill when I accepted to do that...

L.A.

To be deprecated as soon as online code does not need it anylonger.

Definition at line 44 of file emcMixedDataObject.h.

Public Member Functions

 emcMixedDataObject ()
 ctor
virtual ~emcMixedDataObject ()
 dtor
void Get (Int_t index, Float_t &adc, Float_t &tdc) const
 Get adc,tdc using indexing in the calorimeter ITEMs space.
void Get (Int_t index, Float_t &adc, Float_t &tdc, Float_t &hg, Float_t &lg) const
 Get adc,tdc,hg,lg using indexing in the calorimeter ITEMs space.
Float_t GetADC (Int_t index) const
 Get adc using indexing in the calorimeter ITEMs space.
Float_t GetHG (Int_t index) const
 Get high gain using indexing in the calorimeter ITEMs space.
Float_t GetLG (Int_t index) const
 Get low gain using indexing in the calorimeter ITEMs space.
Float_t GetTDC (Int_t index) const
 Get time using indexing in the calorimeter ITEMs space.
bool IsPedestalSubtracted (void) const
bool IsUsingHGLG (void) const
 To know is this object have the raw High and Low Gain values or not.
void SetPedestalFlag (bool value=true)
bool IsHLRatioReal (void) const
void Set (int index, float adc, float tdc)
void Set (int index, float adc, float tdc, float hg, float lg)
void SetHLRatioFlag (bool value=true)
void SetMaxSize (Int_t thesize)
void SetToZero (int index)
TString Status (void)
void UseHGLG (bool use=false)
 Decide if this object must take care of raw High and Low Gain values.
bool IsZero (Int_t index) const
 Tells if channel is zero.
void GetPointers (float *&ADC, float *&TDC, int *&KEY)
void GetPointers (float *&ADC, float *&TDC, float *&HG, float *&LG, int *&KEY)

Protected Attributes

Float_t * fADC
 adc value (pre-post)*H/L gain ratio
Float_t * fTDC
 tdc value
Float_t * fHG
 High gain value.
Float_t * fLG
 Low gain value.
bool fPedestal
 tells if pedestals data are subtracted or not
bool fHLRatio
 tells if real H/L ratio data are used or not
bool fOwnAllocation
 Indicates if WE are allocating the tower data arrays or not (true if reading from Root file, false in any other cases).
bool fUseHGLG
 Switch to store or not high and low gain.

Private Member Functions

 emcMixedDataObject (const emcMixedDataObject &obj)
emcMixedDataObjectoperator= (const emcMixedDataObject &obj)

Friends

std::ostream & operator<< (std::ostream &, const emcMixedDataObject &)


Constructor & Destructor Documentation

emcMixedDataObject::emcMixedDataObject  ) 
 

ctor

emcMixedDataObject::~emcMixedDataObject  )  [virtual]
 

dtor

Definition at line 30 of file emcMixedDataObject.C.

References fADC, fHG, fLG, and fTDC.

emcMixedDataObject::emcMixedDataObject const emcMixedDataObject obj  )  [private]
 


Member Function Documentation

void emcMixedDataObject::Get Int_t  index,
Float_t &  adc,
Float_t &  tdc,
Float_t &  hg,
Float_t &  lg
const
 

Get adc,tdc,hg,lg using indexing in the calorimeter ITEMs space.

Definition at line 55 of file emcMixedDataObject.C.

References fADC, fHG, fLG, fTDC, and IsUsingHGLG().

void emcMixedDataObject::Get Int_t  index,
Float_t &  adc,
Float_t &  tdc
const
 

Get adc,tdc using indexing in the calorimeter ITEMs space.

Definition at line 39 of file emcMixedDataObject.C.

References fADC, and fTDC.

Float_t emcMixedDataObject::GetADC Int_t  index  )  const
 

Get adc using indexing in the calorimeter ITEMs space.

Definition at line 82 of file emcMixedDataObject.C.

References fADC.

Float_t emcMixedDataObject::GetHG Int_t  index  )  const
 

Get high gain using indexing in the calorimeter ITEMs space.

Definition at line 95 of file emcMixedDataObject.C.

References fHG, and IsUsingHGLG().

Float_t emcMixedDataObject::GetLG Int_t  index  )  const
 

Get low gain using indexing in the calorimeter ITEMs space.

Definition at line 113 of file emcMixedDataObject.C.

References fLG, and IsUsingHGLG().

void emcMixedDataObject::GetPointers float *&  ADC,
float *&  TDC,
float *&  HG,
float *&  LG,
int *&  KEY
 

Definition at line 140 of file emcMixedDataObject.C.

References fADC, emcDataObject::fDataMap, fHG, fLG, fTDC, and IsUsingHGLG().

void emcMixedDataObject::GetPointers float *&  ADC,
float *&  TDC,
int *&  KEY
 

This very inelegant method is nevertheless a way of taking care of the pre-existing software (which is working).\

Definition at line 131 of file emcMixedDataObject.C.

References fADC, emcDataObject::fDataMap, and fTDC.

Float_t emcMixedDataObject::GetTDC Int_t  index  )  const
 

Get time using indexing in the calorimeter ITEMs space.

Definition at line 160 of file emcMixedDataObject.C.

References fTDC.

bool emcMixedDataObject::IsHLRatioReal void   )  const [inline]
 

Definition at line 106 of file emcMixedDataObject.h.

References fHLRatio.

Referenced by Status().

bool emcMixedDataObject::IsPedestalSubtracted void   )  const [inline]
 

Definition at line 90 of file emcMixedDataObject.h.

References fPedestal.

Referenced by Status().

bool emcMixedDataObject::IsUsingHGLG void   )  const [inline]
 

To know is this object have the raw High and Low Gain values or not.

Definition at line 96 of file emcMixedDataObject.h.

References fUseHGLG.

Referenced by Get(), GetHG(), GetLG(), GetPointers(), operator<<(), SetMaxSize(), and SetToZero().

bool emcMixedDataObject::IsZero Int_t  index  )  const
 

Tells if channel is zero.

Definition at line 239 of file emcMixedDataObject.C.

References fADC, and emcDataObject::ValidIndex().

emcMixedDataObject& emcMixedDataObject::operator= const emcMixedDataObject obj  )  [private]
 

void emcMixedDataObject::Set int  index,
float  adc,
float  tdc,
float  hg,
float  lg
 

Definition at line 210 of file emcMixedDataObject.C.

References fADC, fHG, fLG, emcDataObject::fSize, fTDC, and emcDataObject::ValidIndex().

void emcMixedDataObject::Set int  index,
float  adc,
float  tdc
 

Definition at line 194 of file emcMixedDataObject.C.

References fADC, emcDataObject::fSize, fTDC, and emcDataObject::ValidIndex().

Referenced by SetToZero().

void emcMixedDataObject::SetHLRatioFlag bool  value = true  )  [inline]
 

Definition at line 115 of file emcMixedDataObject.h.

References fHLRatio.

Referenced by emcRawDataCalibratorV2::Calibrate(), emcRawDataCalibratorV1::Calibrate(), and emcRawDataCalibrator::Calibrate().

void emcMixedDataObject::SetMaxSize Int_t  thesize  ) 
 

Sets the maximum size of this object. If thesize is different from previous fMaxSize, all the arrays are deleted and then re-allocated.

Definition at line 250 of file emcMixedDataObject.C.

References fADC, fHG, fHLRatio, fLG, emcDataObject::fMaxSize, fPedestal, emcDataObject::fSize, fTDC, and IsUsingHGLG().

Referenced by emcRawDataCalibratorV2::Calibrate(), emcRawDataCalibratorV1::Calibrate(), and emcRawDataCalibrator::Calibrate().

void emcMixedDataObject::SetPedestalFlag bool  value = true  )  [inline]
 

Definition at line 101 of file emcMixedDataObject.h.

References fPedestal.

Referenced by emcRawDataCalibratorV2::Calibrate(), emcRawDataCalibratorV1::Calibrate(), and emcRawDataCalibrator::Calibrate().

void emcMixedDataObject::SetToZero int  index  ) 
 

Definition at line 228 of file emcMixedDataObject.C.

References IsUsingHGLG(), and Set().

Referenced by emcRawDataCalibratorV2::Calibrate(), emcRawDataCalibratorV1::Calibrate(), and emcRawDataCalibrator::Calibrate().

TString emcMixedDataObject::Status void   ) 
 

Definition at line 173 of file emcMixedDataObject.C.

References IsHLRatioReal(), and IsPedestalSubtracted().

void emcMixedDataObject::UseHGLG bool  use = false  ) 
 

Decide if this object must take care of raw High and Low Gain values.

Definition at line 321 of file emcMixedDataObject.C.

References fHG, fLG, emcDataObject::fMaxSize, and fUseHGLG.

Referenced by mEmcCalibratorModule::Config().


Friends And Related Function Documentation

std::ostream& operator<< std::ostream &  ,
const emcMixedDataObject
[friend]
 


Member Data Documentation

Float_t* emcMixedDataObject::fADC [protected]
 

adc value (pre-post)*H/L gain ratio

Definition at line 144 of file emcMixedDataObject.h.

Referenced by Get(), GetADC(), GetPointers(), IsZero(), operator<<(), Set(), SetMaxSize(), and ~emcMixedDataObject().

Float_t* emcMixedDataObject::fHG [protected]
 

High gain value.

Definition at line 148 of file emcMixedDataObject.h.

Referenced by Get(), GetHG(), GetPointers(), operator<<(), Set(), SetMaxSize(), UseHGLG(), and ~emcMixedDataObject().

bool emcMixedDataObject::fHLRatio [protected]
 

tells if real H/L ratio data are used or not

Definition at line 154 of file emcMixedDataObject.h.

Referenced by IsHLRatioReal(), SetHLRatioFlag(), and SetMaxSize().

Float_t* emcMixedDataObject::fLG [protected]
 

Low gain value.

Definition at line 150 of file emcMixedDataObject.h.

Referenced by Get(), GetLG(), GetPointers(), operator<<(), Set(), SetMaxSize(), UseHGLG(), and ~emcMixedDataObject().

bool emcMixedDataObject::fOwnAllocation [protected]
 

Indicates if WE are allocating the tower data arrays or not (true if reading from Root file, false in any other cases).

Definition at line 158 of file emcMixedDataObject.h.

bool emcMixedDataObject::fPedestal [protected]
 

tells if pedestals data are subtracted or not

Definition at line 152 of file emcMixedDataObject.h.

Referenced by IsPedestalSubtracted(), SetMaxSize(), and SetPedestalFlag().

Float_t* emcMixedDataObject::fTDC [protected]
 

tdc value

Definition at line 146 of file emcMixedDataObject.h.

Referenced by Get(), GetPointers(), GetTDC(), operator<<(), Set(), SetMaxSize(), and ~emcMixedDataObject().

bool emcMixedDataObject::fUseHGLG [protected]
 

Switch to store or not high and low gain.

Definition at line 161 of file emcMixedDataObject.h.

Referenced by IsUsingHGLG(), and UseHGLG().


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