GET library
GETAGet Class Reference

#include <GETAGet.hh>

Inheritance diagram for GETAGet:
GETObject

Public Member Functions

Constructors, affectation, destructor
 GETAGet (u_int n=0, double dt=0.01L)
 
virtual ~GETAGet ()
 
Initialization functions
virtual void Reset ()
 
virtual void Init (u_int n, double dt)
 
virtual void ClearEvent ()
 
GET system core objects functions
virtual string GetObjectId () const
 
virtual u_int GetSignalChannelCount () const
 
virtual u_int GetTotalChannelCount () const
 
virtual GETChannelGetSignalChannel (u_int n)
 
virtual GETChannelGetTotalChannel (u_int n)
 
virtual GETChannelGetFPNChannel (u_int n)
 
virtual u_int GetChildrenNumber () const
 
virtual const GETObjectGetChild (u_int i) const
 
virtual GETObjectGetChild (u_int i)
 
virtual double GetSignalSum (u_short info=GET::signalOut)
 
virtual void SetResponse (GETResponse *ptr, bool recur=true, bool fpn=false)
 
virtual void SetResponse (GETResponse &obj, bool recur=true, bool fpn=false)
 
virtual void SetFilter (GETFilter *ptr, bool recur=true, bool fpn=false)
 
virtual void SetFilter (GETFilter &obj, bool recur=true, bool fpn=false)
 
virtual void SetNoiseIn (GETSignalModifier *ptr, bool recur=true, bool fpn=false)
 
virtual void SetNoiseIn (GETSignalModifier &obj, bool recur=true, bool fpn=false)
 
virtual void SetNoiseOut (GETSignalModifier *ptr, bool recur=true, bool fpn=false)
 
virtual void SetNoiseOut (GETSignalModifier &obj, bool recur=true, bool fpn=false)
 
virtual void SetOutputCorrection (GETSignalModifier *ptr, bool recur=true, bool fpn=false)
 
virtual void SetOutputCorrection (GETSignalModifier &obj, bool recur=true, bool fpn=false)
 
Access to class data
const GETChanneloperator[] (u_int n) const
 
GETChanneloperator[] (u_int n)
 
bool IsFPN (u_int n) const
 
bool IsSignal (u_int n) const
 
u_short GetLastCell () const
 
void SetLastCell (u_short cell)
 
AGet data funtions
void FillAverageFPN (GETSample &mean)
 
GETSample GetAverageFPN ()
 
ROOT related functions
 ClassDef (GETAGet, 0)
 
- Public Member Functions inherited from GETObject
 GETObject ()
 
virtual ~GETObject ()
 
int GetId () const
 
virtual string GetFullId () const
 
virtual u_int GetChannelCount () const
 
virtual GETChannelGetChannel (u_int n)
 
const GETObjectGetParent () const
 
GETObjectGetParent ()
 
virtual void SetTimeStep (double dt)
 
u_int GetSampleDim ()
 
double GetTimeStep ()
 
virtual void SetReadoutFlag (bool b=true)
 
bool GetReadoutFlag () const
 
virtual u_int GetReadoutMultiplicity (bool fpn=true) const
 
virtual void InitLocalData (u_int n, double dt)
 
virtual void ValidDataSet ()
 
virtual void ValidSimulSet ()
 
virtual void SetOutputCorrection (GETProcess *ptr, bool recur=true, bool fpn=false)
 
virtual void SetOutputCorrection (GETProcess &obj, bool recur=true, bool fpn=false)
 
virtual void RemoveOutputCorrection ()
 
virtual void SetOutputCorrectionList (bool warn=true)
 
virtual void AddOutputCorrection (GETProcess *ptr, bool recur=true, bool fpn=false)
 
virtual void AddOutputCorrection (GETProcess &obj, bool recur=true, bool fpn=false)
 
GETResponseGetResponse (bool force=true)
 
GETFilterGetFilter (bool force=true)
 
GETSignalModifierGetNoiseIn (bool force=true)
 
GETSignalModifierGetNoiseOut (bool force=true)
 
GETProcessGetOutputCorrection (bool force=true)
 
virtual int ProcessData (bool in_noise=true)
 
virtual int ProcessOutFromTst (bool in_noise=true, bool out_noise=true)
 
virtual int ProcessRecFromOut (bool out_corr=true)
 
virtual int ProcessOutputCorrection ()
 
 ClassDef (GETObject, 0)
 

Static Protected Member Functions

Functions for internal use
static void InitIndexes ()
 

Protected Attributes

GETChannel channel [68]
 ASIC channels.
 
GETCfgAGetconfig
 Configuration data.
 
u_short last_cell
 Index of last cell read in circular memory buffer.
 
- Protected Attributes inherited from GETObject
GETProcessLink filter
 Signal processing filter.
 
int id
 Object identifier number (set by the parent, in filiation)
 
bool is_read
 Flag indicating some data was read for the object (from exp. raw data)
 
GETProcessLink noise_in
 Simulation input noise generator.
 
GETProcessLink noise_out
 Simulation output noise generator.
 
GETProcessLink output_corr
 Output signal correction before reconstruction of input.
 
GETObjectparent
 Parent AGet chip.
 
GETProcessLink response
 Signal response function.
 

Static Protected Attributes

static u_int closer_fpn [68]
 Closer FPN channel.
 
static u_int index_asic [68]
 ASIC index from channel number.
 
static u_int index_channel [68]
 Channel number from ASIC I/O index.
 
static u_int index_fpn [4] = { 11, 22, 45, 56 }
 FPN channels indexes in ASIC.
 
static bool index_init = false
 Test if index initialization is done.
 

Private Member Functions

 GObject (GETAGet)
 

Friends

class GETAsAd
 
class GETCfgAGet
 
class GETSystem
 

GET configuration

virtual int ResetConfig ()
 
const GETCfgAGetGetConfig () const
 
GETCfgAGetGetConfig ()
 
static u_int GetFPNIndex (u_int ifpn)
 
static u_int CloserFPNIndex (u_int channel)
 

Detailed Description

This class describes the AGET chip. It contains 68 data channels (ASIC channels):

  • 64 signal channels
  • 4 Fix Pattern Noise (FPN) channels.

The correspondance between ASIC channels and signal channels is stored in static conversion arrays.

Examples:
ReadRCoBo.C.

Constructor & Destructor Documentation

GETAGet::GETAGet ( u_int  n = 0,
double  dt = 0.01L 
)

Base constructor.

Parameters
nsampling size of the channels
dtsampling period (us)

References config, index_init, Init(), and InitIndexes().

GETAGet::~GETAGet ( )
virtual

Destructor.

References config.

Member Function Documentation

GETAGet::ClassDef ( GETAGet  ,
 
)

for use within ROOT.

void GETAGet::ClearEvent ( )
virtual

Clears all input/outout signals from each channel of each AGET chip.

Reimplemented from GETObject.

References AGET_SIZE, channel, GETObject::is_read, and last_cell.

u_int GETAGet::CloserFPNIndex ( u_int  n)
inlinestatic

Return the index of the FPN channel that is closer to the argument channel.

Parameters
nchannel number (0-68)

References closer_fpn.

Referenced by GETSystem::OutputCorrectFPN(), and GETRCoBo::ReadEvent().

void GETAGet::FillAverageFPN ( GETSample mean)

Fills the argument sample with the average of the FPN channels.

Parameters
meanresulting average sample

References GetFPNChannel(), and GETChannel::OutSample().

Referenced by GetAverageFPN().

GETSample GETAGet::GetAverageFPN ( )

Function that returns a sample with the average of the FPN channels (this function is slower than GETAGet::FillAverageFPN() since it requires the copy of the resulting sample).

References FillAverageFPN().

const GETObject * GETAGet::GetChild ( u_int  i) const
inlinevirtual

Return a GET core child object (NULL since channels have no children).

Parameters
ichild number

Implements GETObject.

References AGET_SIZE, and channel.

Referenced by GETCfgAGet::GETCfgAGet().

GETObject * GETAGet::GetChild ( u_int  i)
inlinevirtual

Return a GET core child object (NULL since channels have no children).

Parameters
ichild number

Implements GETObject.

References AGET_SIZE, and channel.

u_int GETAGet::GetChildrenNumber ( ) const
inlinevirtual
const GETCfgAGet * GETAGet::GetConfig ( ) const
inline

Return the pointer to the related GET configuration.

References config.

GETCfgAGet * GETAGet::GetConfig ( )
inline

Return the pointer to the related GET configuration.

References config.

GETChannel * GETAGet::GetFPNChannel ( u_int  n)
inlinevirtual

Return the pointer to the FPN)channel number n.

Parameters
nsignal channel index (0-3)

References index_fpn.

Referenced by FillAverageFPN(), and GETSystemAnalyser::ProcessFPNtestAnalysis().

u_int GETAGet::GetFPNIndex ( u_int  ifpn)
inlinestatic

Return the physical index of a FPN channel.

Parameters
ifpnFPN channel number (0-3)

References index_fpn.

Referenced by GETChannel::IsFPNChannel().

u_short GETAGet::GetLastCell ( ) const
inline

Return the last cell read in the circular memory buffer.

References last_cell.

string GETAGet::GetObjectId ( ) const
inlinevirtual

Return the object string identifier.

Implements GETObject.

GETChannel * GETAGet::GetSignalChannel ( u_int  n)
inlinevirtual

Return the pointer to the signal (not FPN) channel number n.

Parameters
nsignal channel index (0-63)

Reimplemented from GETObject.

References AGET_SIZE, and index_asic.

Referenced by GetSignalSum().

u_int GETAGet::GetSignalChannelCount ( ) const
inlinevirtual

Return the total number of signal channels (without FPN) under the object.

Reimplemented from GETObject.

References AGET_CHANNELS.

double GETAGet::GetSignalSum ( u_short  info = GET::signalOut)
virtual

Return the sum of the signal channels (FPN are not included.

Parameters
infosamples used for signal summing: GET::signalOut (default) GET::signalTst or GET::signalRec

Reimplemented from GETObject.

References AGET_CHANNELS, GetSignalChannel(), and GETChannel::GetSignalSum().

GETChannel * GETAGet::GetTotalChannel ( u_int  n)
inlinevirtual

Return the pointer to the channel (signal or FPN) number n.

Parameters
nsignal channel index (0-68)

Reimplemented from GETObject.

References AGET_SIZE.

u_int GETAGet::GetTotalChannelCount ( ) const
inlinevirtual

Return the total number of signal channels (including FPN) under the object.

Reimplemented from GETObject.

References AGET_SIZE.

Referenced by GETSystemAnalyser::ProcessFPNtestAnalysis().

GETAGet::GObject ( GETAGet  )
private

Macro from GCpp library that defines the following functions:

  • ClassName(): return the real class name of the object
  • StaticClassName(): return the used class name of the object (that may be a base class of the real object).
  • IsInstanceOf<T>(): return true if the current object is an instance of the template class name argument
  • Clone(): return an allocated copy of the object.
void GETAGet::Init ( u_int  n,
double  dt 
)
virtual

Initialisation of all individual channels. The AGET channels are resetted.

Parameters
nsampling size of the channels
dtsampling time step

References AGET_SIZE, channel, GETObject::id, index_channel, GETChannel::Init(), GETObject::InitLocalData(), GETObject::parent, Reset(), and GETChannel::sig_id.

Referenced by GETAGet(), and GETAsAd::Init().

void GETAGet::InitIndexes ( )
staticprotected

Creation of conversion arrays for ASIC channels indexes and signal channels indexes (internal use). This function is called once at the first creation of a GETAGet object.

References AGET_SIZE, closer_fpn, index_asic, index_channel, index_fpn, and index_init.

Referenced by GETAGet().

bool GETAGet::IsFPN ( u_int  n) const

Indicate if the channel number corresponds to a FPN channel (not a signal channel).

Parameters
nchannel number

References index_fpn.

Referenced by IsSignal().

bool GETAGet::IsSignal ( u_int  n) const

Indicate if the channel number corresponds to a signal channel (not a FPN channel).

Parameters
nchannel number

References IsFPN().

Referenced by SetFilter(), SetNoiseIn(), SetNoiseOut(), SetOutputCorrection(), and SetResponse().

const GETChannel & GETAGet::operator[] ( u_int  n) const
inline

Access to one of the AGET channel. There is no index verification.

Parameters
nASIC channel index

References channel.

GETChannel & GETAGet::operator[] ( u_int  n)
inline

Access to one of the AGET channel. There is no index verification.

Parameters
nASIC channel index

References channel.

void GETAGet::Reset ( )
virtual

Function resetting all channels from the chip (see GETChannel::Reset function).

References AGET_SIZE, and channel.

Referenced by Init().

int GETAGet::ResetConfig ( )
virtual

Removes the configuration architecture.

References AGET_SIZE, and config.

void GETAGet::SetFilter ( GETFilter ptr,
bool  recur = true,
bool  fpn = false 
)
virtual

Set the common filter locally for the chip (pointer is adopted). The filter is recursivelly set (externally) to sub-objects if recur is true (except for FPN channels is fpn is false).

Parameters
ptrfilter pointer
recurrecursivelly set filter to sub-objects
fpnset filter also to FPN channels

Reimplemented from GETObject.

References AGET_SIZE, GETObject::filter, IsSignal(), and GETProcessLink::SetLocalProcess().

void GETAGet::SetFilter ( GETFilter obj,
bool  recur = true,
bool  fpn = false 
)
virtual

Set the common filter externally for the chip. The filter is recursivelly set (externally) to sub-objects if recur is true (except for FPN channels is fpn is false).

Parameters
objfilter object
recurrecursivelly set filter to sub-objects
fpnset filter also to FPN channels

Reimplemented from GETObject.

References AGET_SIZE, GETObject::filter, IsSignal(), and GETProcessLink::SetExternalProcess().

void GETAGet::SetLastCell ( u_short  cell)
inline

Set the last cell read in the circular memory buffer.

Parameters
celllast cell index

References last_cell.

void GETAGet::SetNoiseIn ( GETSignalModifier ptr,
bool  recur = true,
bool  fpn = false 
)
virtual

Set the common noise generator locally for the object (pointer is adopted). The noise generator is recursivelly set (externally) to sub-objects if recur is true (except for FPN channels is fpn is false).

Parameters
ptrnoise generator pointer
recurrecursivelly set noise generator to sub-objects
fpnset noise generator also to FPN channels

Reimplemented from GETObject.

References GetChildrenNumber(), IsSignal(), GETObject::noise_in, and GETProcessLink::SetLocalProcess().

void GETAGet::SetNoiseIn ( GETSignalModifier obj,
bool  recur = true,
bool  fpn = false 
)
virtual

Set the common noise generator externally for the object. The noise generator is recursivelly set (externally) to sub-objects if recur is true (except for FPN channels is fpn is false).

Parameters
objnoise generator object
recurrecursivelly set noise generator to sub-objects
fpnset noise generator also to FPN channels

Reimplemented from GETObject.

References GetChildrenNumber(), IsSignal(), GETObject::noise_in, and GETProcessLink::SetExternalProcess().

void GETAGet::SetNoiseOut ( GETSignalModifier ptr,
bool  recur = true,
bool  fpn = false 
)
virtual

Set the common noise generator locally for the object (pointer is adopted). The noise generator is recursivelly set (externally) to sub-objects if recur is true (except for FPN channels is fpn is false).

Parameters
ptrnoise generator pointer
recurrecursivelly set noise generator to sub-objects
fpnset noise generator also to FPN channels

Reimplemented from GETObject.

References GetChildrenNumber(), IsSignal(), GETObject::noise_out, and GETProcessLink::SetLocalProcess().

void GETAGet::SetNoiseOut ( GETSignalModifier obj,
bool  recur = true,
bool  fpn = false 
)
virtual

Set the common noise generator externally for the object. The noise generator is recursivelly set (externally) to sub-objects if recur is true (except for FPN channels is fpn is false).

Parameters
objnoise generator object
recurrecursivelly set noise generator to sub-objects
fpnset noise generator also to FPN channels

Reimplemented from GETObject.

References GetChildrenNumber(), IsSignal(), GETObject::noise_out, and GETProcessLink::SetExternalProcess().

void GETAGet::SetOutputCorrection ( GETSignalModifier ptr,
bool  recur = true,
bool  fpn = false 
)
virtual

Set the common signal correction process locally for the object (pointer is adopted). The process is recursivelly set (externally) to sub-objects if recur is true (except for FPN channels is fpn is false).

Parameters
ptroutput correction process pointer
recurrecursivelly set noise generator to sub-objects
fpnset noise generator also to FPN channels

References GetChildrenNumber(), IsSignal(), GETObject::output_corr, and GETProcessLink::SetLocalProcess().

void GETAGet::SetOutputCorrection ( GETSignalModifier obj,
bool  recur = true,
bool  fpn = false 
)
virtual

Set the common signal correction process externally for the object. The process is recursivelly set (externally) to sub-objects if recur is true (except for FPN channels is fpn is false).

Parameters
objoutput correction process object
recurrecursivelly set noise generator to sub-objects
fpnset noise generator also to FPN channels

References GetChildrenNumber(), IsSignal(), GETObject::output_corr, and GETProcessLink::SetExternalProcess().

void GETAGet::SetResponse ( GETResponse ptr,
bool  recur = true,
bool  fpn = false 
)
virtual

Set the common response function locally for the chip (pointer is adopted). The response function is recursivelly set (externally) to sub-objects if recur is true (except for FPN channels is fpn is false).

Parameters
ptrresponse function pointer
recurrecursivelly set response function to sub-objects
fpnset response function also to FPN channels

Reimplemented from GETObject.

References AGET_SIZE, IsSignal(), GETObject::response, and GETProcessLink::SetLocalProcess().

void GETAGet::SetResponse ( GETResponse obj,
bool  recur = true,
bool  fpn = false 
)
virtual

Set the common response function externally for the chip. The response function is recursivelly set (externally) to sub-objects if recur is true (except for FPN channels is fpn is false).

Parameters
objresponse function object
recurrecursivelly set response function to sub-objects
fpnset response function also to FPN channels

Reimplemented from GETObject.

References AGET_SIZE, IsSignal(), GETObject::response, and GETProcessLink::SetExternalProcess().


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