emcTracedFEM Class Reference
[Tower calibration]

#include <emcTracedFEM.h>

Inherits emcCalFEM.

Inherited by emcGainFEM.

Inheritance diagram for emcTracedFEM:

Inheritance graph
[legend]
List of all members.

Detailed Description

Base class for storing time-dependant calibration data for one FEM.

It is used for Gains, TacPeds and TofT0s calibrations.

Definition at line 21 of file emcTracedFEM.h.

Public Types

typedef std::vector< emcTracedValue * > emcItemVector

Public Member Functions

 emcTracedFEM (int absPosition)
 ctor.
 emcTracedFEM (int absPosition, const PHTimeStamp &t1, const PHTimeStamp &t2)
 ctor.
 emcTracedFEM (const emcTracedFEM &)
 copy ctor.
emcTracedFEMoperator= (const emcTracedFEM &)
 assignment operator.
virtual emcTracedFEMclone (void) const =0
 virtual constructor.
virtual ~emcTracedFEM ()
 dtor.
virtual void AddNewItem (int channel, emcTracedValue *item)
 Add a new item for a given channel.
virtual float Compact (float epsilon)=0
 Compact items that are consistent within epsilon.
virtual float DefaultReturnValue (void) const
 Default value to be returned by getValue methods.
void Delete (void)
 Delete all items.
void FirstItem (int channel) const
 Initialize iterator for looping over items corresponding to channel.
virtual const char * GetCategory (void) const =0
 Still virtual at this point.
size_t GetNumberOfChannels (void) const
 How many channels are handled by this object ?
size_t GetNumberOfItems (void) const
 How many objects are kept by this object ? It's equal to sum_over_channel(number_of_item_for_channel).
size_t GetNumberOfItems (int ichannel) const
 How many items for a given channel ?
virtual float getValueFast (int ichannel, time_t x) const
 Get the value for a given channel at a given x.
virtual float getValueFast (int ichannel, int x) const
 See getValue(int, int).
virtual bool IsEqual (const emcCalFEM &obj) const
 comparison.
emcTracedValueLastItem (int channel) const
 Get last line of a given channel.
emcTracedValueNextItem (void) const
 Get next item of the loop initialized with FirstValue(item).
virtual std::ostream & Print (std::ostream &out=std::cout, int level=0) const
 Print (for debug purposes).
void RemoveLastItems (void)
 Remove last item for each channel.
virtual void Reset (void)
 Reset the object.
virtual void SetNumberOfChannels (int nchannels)
 Set the number of channels (recreating the object from scratch).
virtual void writeDataToFile (FILE *fp) const
 Some text output on a file.

Protected Member Functions

void Copy (emcTracedFEM &o) const
 Copy this into o.
emcTracedValuegetTV (int channel, time_t absoluteX, size_t &thecase) const

Protected Attributes

std::vector< emcItemVector * > fItems
size_t fNItems

Private Attributes

size_t fCurrentItem
size_t fCurrentPosition


Member Typedef Documentation

typedef std::vector<emcTracedValue*> emcTracedFEM::emcItemVector
 

Definition at line 120 of file emcTracedFEM.h.


Constructor & Destructor Documentation

emcTracedFEM::emcTracedFEM int  absPosition  )  [explicit]
 

ctor.

Definition at line 36 of file emcTracedFEM.C.

References classname, name, emcNamed::NameIt(), and title.

emcTracedFEM::emcTracedFEM int  absPosition,
const PHTimeStamp &  t1,
const PHTimeStamp &  t2
 

ctor.

Definition at line 45 of file emcTracedFEM.C.

References classname, name, emcNamed::NameIt(), and title.

emcTracedFEM::emcTracedFEM const emcTracedFEM  ) 
 

copy ctor.

Definition at line 55 of file emcTracedFEM.C.

References Copy().

emcTracedFEM::~emcTracedFEM  )  [virtual]
 

dtor.

Definition at line 101 of file emcTracedFEM.C.

References Delete().


Member Function Documentation

void emcTracedFEM::AddNewItem int  channel,
emcTracedValue item
[virtual]
 

Add a new item for a given channel.

The item is adopted (i.e. this object is responsible for the deletion of item).

Reimplemented in emcGainFEM, and emcTacPedFEM.

Definition at line 108 of file emcTracedFEM.C.

References fItems, and emcTracedValue::GetX().

Referenced by emcTacPedFEM::AddNewItem(), emcGainFEM::AddNewItem(), and testTracedFEMMerger().

virtual emcTracedFEM* emcTracedFEM::clone void   )  const [pure virtual]
 

virtual constructor.

Implements emcCalFEM.

Implemented in emcGainFEM, emcTacPedFEM, and emcTofT0FEM.

virtual float emcTracedFEM::Compact float  epsilon  )  [pure virtual]
 

Compact items that are consistent within epsilon.

WARNING: not thoroughly tested yet. Use with care.

Implemented in emcGainFEM, and emcTacPedFEM.

void emcTracedFEM::Copy emcTracedFEM o  )  const [protected]
 

Copy this into o.

Definition at line 74 of file emcTracedFEM.C.

References emcCalFEM::Copy(), fItems, and j.

Referenced by emcTracedFEM(), and operator=().

virtual float emcTracedFEM::DefaultReturnValue void   )  const [inline, virtual]
 

Default value to be returned by getValue methods.

Reimplemented from emcCalFEM.

Definition at line 52 of file emcTracedFEM.h.

void emcTracedFEM::Delete void   ) 
 

Delete all items.

Definition at line 143 of file emcTracedFEM.C.

References fItems, and j.

Referenced by operator=(), Reset(), SetNumberOfChannels(), and ~emcTracedFEM().

void emcTracedFEM::FirstItem int  channel  )  const
 

Initialize iterator for looping over items corresponding to channel.

Definition at line 164 of file emcTracedFEM.C.

References fCurrentItem, fCurrentPosition, and fItems.

Referenced by dump(), IsEqual(), emcTracedFEMPlotter::MakeGraph(), emcCalibrationDataHelper::patch(), scale(), and emcDB::UpdateXValue().

virtual const char* emcTracedFEM::GetCategory void   )  const [pure virtual]
 

Still virtual at this point.

see emcGainFEM, emcTacPedFEM, emcTofT0FEM for concrete one.

Implements emcCalFEM.

Implemented in emcGainFEM, emcTacPedFEM, and emcTofT0FEM.

Referenced by namer().

size_t emcTracedFEM::GetNumberOfChannels void   )  const [inline, virtual]
 

How many channels are handled by this object ?

Implements emcCalFEM.

Definition at line 66 of file emcTracedFEM.h.

References fItems.

Referenced by emcGainFEM::Compact(), inspect(), LongTermGains(), emcTracedFEMMerger::merge(), and emcDB::UpdateXValue().

size_t emcTracedFEM::GetNumberOfItems int  ichannel  )  const
 

How many items for a given channel ?

Definition at line 174 of file emcTracedFEM.C.

References fItems.

size_t emcTracedFEM::GetNumberOfItems void   )  const [inline]
 

How many objects are kept by this object ? It's equal to sum_over_channel(number_of_item_for_channel).

Definition at line 71 of file emcTracedFEM.h.

References fNItems.

Referenced by emcGainFEM::Compact(), inspect(), and LongTermGains().

emcTracedValue * emcTracedFEM::getTV int  channel,
time_t  absoluteX,
size_t &  thecase
const [protected]
 

Definition at line 184 of file emcTracedFEM.C.

References fItems, and emcCalFEM::GetXmin().

Referenced by getValueFast().

virtual float emcTracedFEM::getValueFast int  ichannel,
int  x
const [inline, virtual]
 

See getValue(int, int).

Reimplemented from emcCalFEM.

Definition at line 84 of file emcTracedFEM.h.

References getValueFast().

float emcTracedFEM::getValueFast int  ichannel,
time_t  x
const [virtual]
 

Get the value for a given channel at a given x.

Reimplemented from emcCalFEM.

Definition at line 254 of file emcTracedFEM.C.

References emcTracedValue::GetConstant(), getTV(), emcTracedValue::getValue(), emcCalFEM::GetXmax(), and emcCalFEM::GetXmin().

Referenced by getValueFast().

bool emcTracedFEM::IsEqual const emcCalFEM obj  )  const [virtual]
 

comparison.

Implements emcCalFEM.

Definition at line 312 of file emcTracedFEM.C.

References compare(), FirstItem(), emcTracedValue::GetConstant(), emcTracedValue::GetSlope(), emcTracedValue::GetX(), emcTracedValue::isConstant(), NextItem(), and emcCalFEM::size().

emcTracedValue * emcTracedFEM::LastItem int  channel  )  const
 

Get last line of a given channel.

Please note that you'll get the true pointer to our guts, so you can easily change things in place. That might be cool, but that's also dangerous, so be careful...

Definition at line 353 of file emcTracedFEM.C.

References fItems.

emcTracedValue * emcTracedFEM::NextItem void   )  const
 

Get next item of the loop initialized with FirstValue(item).

See also comment for LastItem method.

Definition at line 373 of file emcTracedFEM.C.

References fCurrentItem, fCurrentPosition, fItems, and emcCalFEM::size().

Referenced by dump(), IsEqual(), emcTracedFEMPlotter::MakeGraph(), emcCalibrationDataHelper::patch(), scale(), and emcDB::UpdateXValue().

emcTracedFEM & emcTracedFEM::operator= const emcTracedFEM  ) 
 

assignment operator.

Definition at line 63 of file emcTracedFEM.C.

References Copy(), and Delete().

std::ostream & emcTracedFEM::Print std::ostream &  out = std::cout,
int  level = 0
const [virtual]
 

Print (for debug purposes).

Reimplemented from emcCalFEM.

Definition at line 391 of file emcTracedFEM.C.

References fItems, emcCalFEM::GetXmax(), emcCalFEM::GetXmin(), j, and emcCalFEM::Print().

Referenced by testTracedFEMMerger().

void emcTracedFEM::RemoveLastItems void   ) 
 

Remove last item for each channel.

This is a fix for PbSc m_091001 calibration data set.

Definition at line 411 of file emcTracedFEM.C.

References fItems, and fNItems.

void emcTracedFEM::Reset void   )  [virtual]
 

Reset the object.

Implements emcCalFEM.

Definition at line 428 of file emcTracedFEM.C.

References Delete(), emcCalFEM::SetXmax(), and emcCalFEM::SetXmin().

void emcTracedFEM::SetNumberOfChannels int  nchannels  )  [virtual]
 

Set the number of channels (recreating the object from scratch).

Reimplemented from emcCalFEM.

Definition at line 436 of file emcTracedFEM.C.

References Delete(), and fItems.

Referenced by emcTofT0FEM::Default(), emcTacPedFEM::Default(), emcGainFEM::Default(), and testTracedFEMMerger().

void emcTracedFEM::writeDataToFile FILE *  fp  )  const [virtual]
 

Some text output on a file.

Reimplemented in emcTofT0FEM.

Definition at line 449 of file emcTracedFEM.C.

References fItems, emcCalFEM::GetStartValTime(), and j.

Referenced by emcGains::writeDataToFile().


Member Data Documentation

size_t emcTracedFEM::fCurrentItem [mutable, private]
 

Definition at line 139 of file emcTracedFEM.h.

Referenced by FirstItem(), and NextItem().

size_t emcTracedFEM::fCurrentPosition [mutable, private]
 

Definition at line 141 of file emcTracedFEM.h.

Referenced by FirstItem(), and NextItem().

std::vector<emcItemVector*> emcTracedFEM::fItems [protected]
 

Definition at line 133 of file emcTracedFEM.h.

Referenced by AddNewItem(), emcTacPedFEM::Compact(), emcGainFEM::CompactOneChannelConstants(), emcGainFEM::CompactOneChannelLines(), Copy(), Delete(), FirstItem(), GetNumberOfChannels(), GetNumberOfItems(), getTV(), LastItem(), NextItem(), Print(), RemoveLastItems(), SetNumberOfChannels(), writeDataToFile(), and emcTofT0FEM::writeDataToFile().

size_t emcTracedFEM::fNItems [protected]
 

Definition at line 135 of file emcTracedFEM.h.

Referenced by emcTacPedFEM::Compact(), emcGainFEM::CompactOneChannelConstants(), GetNumberOfItems(), and RemoveLastItems().


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