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)
 
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 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)
 
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
 

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.

References AGET_SIZE, channel, 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().

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.

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.

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: