GET library
|
#include <GETAGet.hh>
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 GETChannel * | GetSignalChannel (u_int n) |
virtual GETChannel * | GetTotalChannel (u_int n) |
virtual GETChannel * | GetFPNChannel (u_int n) |
virtual u_int | GetChildrenNumber () const |
virtual const GETObject * | GetChild (u_int i) const |
virtual GETObject * | GetChild (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 GETChannel & | operator[] (u_int n) const |
GETChannel & | operator[] (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 GETChannel * | GetChannel (u_int n) |
const GETObject * | GetParent () const |
GETObject * | GetParent () |
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) |
GETResponse * | GetResponse (bool force=true) |
GETFilter * | GetFilter (bool force=true) |
GETSignalModifier * | GetNoiseIn (bool force=true) |
GETSignalModifier * | GetNoiseOut (bool force=true) |
GETProcess * | GetOutputCorrection (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. | |
GETCfgAGet * | config |
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. | |
GETObject * | parent |
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 GETCfgAGet * | GetConfig () const |
GETCfgAGet * | GetConfig () |
static u_int | GetFPNIndex (u_int ifpn) |
static u_int | CloserFPNIndex (u_int channel) |
This class describes the AGET chip. It contains 68 data channels (ASIC channels):
The correspondance between ASIC channels and signal channels is stored in static conversion arrays.
GETAGet::GETAGet | ( | u_int | n = 0 , |
double | dt = 0.01L |
||
) |
Base constructor.
n | sampling size of the channels |
dt | sampling period (us) |
References config, index_init, Init(), and InitIndexes().
|
virtual |
Destructor.
References config.
GETAGet::ClassDef | ( | GETAGet | , |
0 | |||
) |
for use within ROOT.
|
virtual |
|
inlinestatic |
Return the index of the FPN channel that is closer to the argument channel.
n | channel number (0-68) |
References closer_fpn.
Referenced by GETSystem::OutputCorrectFPN(), and GETRCoBo::ReadEvent().
|
inlinevirtual |
Return a GET core child object (NULL since channels have no children).
i | child number |
Implements GETObject.
References AGET_SIZE, and channel.
Referenced by GETCfgAGet::GETCfgAGet().
|
inlinevirtual |
|
inlinevirtual |
Return the number of GET core children objects.
Implements GETObject.
References AGET_SIZE.
Referenced by GETSystemAnalyser::BadChannelsWarning(), GETHitMask::CreateThresholdXML(), GETCfgAGet::GETCfgAGet(), SetNoiseIn(), SetNoiseOut(), and SetOutputCorrection().
|
inline |
|
inline |
|
inlinevirtual |
Return the pointer to the FPN)channel number n.
n | signal channel index (0-3) |
References index_fpn.
|
inlinestatic |
Return the physical index of a FPN channel.
ifpn | FPN channel number (0-3) |
References index_fpn.
Referenced by GETChannel::IsFPNChannel().
|
inline |
Return the last cell read in the circular memory buffer.
References last_cell.
|
inlinevirtual |
Return the object string identifier.
Implements GETObject.
|
inlinevirtual |
Return the pointer to the signal (not FPN) channel number n.
n | signal channel index (0-63) |
Reimplemented from GETObject.
References AGET_SIZE, and index_asic.
Referenced by GetSignalSum().
|
inlinevirtual |
Return the total number of signal channels (without FPN) under the object.
Reimplemented from GETObject.
References AGET_CHANNELS.
|
virtual |
Return the sum of the signal channels (FPN are not included.
info | samples used for signal summing: GET::signalOut (default) GET::signalTst or GET::signalRec |
Reimplemented from GETObject.
References AGET_CHANNELS, GetSignalChannel(), and GETChannel::GetSignalSum().
|
inlinevirtual |
|
inlinevirtual |
|
private |
Macro from GCpp library that defines the following functions:
|
virtual |
Initialisation of all individual channels. The AGET channels are resetted.
n | sampling size of the channels |
dt | sampling 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().
|
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).
n | channel 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).
n | channel number |
References IsFPN().
Referenced by SetFilter(), SetNoiseIn(), SetNoiseOut(), SetOutputCorrection(), and SetResponse().
|
inline |
Access to one of the AGET channel. There is no index verification.
n | ASIC channel index |
References channel.
|
inline |
Access to one of the AGET channel. There is no index verification.
n | ASIC channel index |
References channel.
|
virtual |
Function resetting all channels from the chip (see GETChannel::Reset function).
References AGET_SIZE, and channel.
Referenced by Init().
|
virtual |
|
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).
ptr | filter pointer |
recur | recursivelly set filter to sub-objects |
fpn | set filter also to FPN channels |
Reimplemented from GETObject.
References AGET_SIZE, GETObject::filter, IsSignal(), and GETProcessLink::SetLocalProcess().
|
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).
obj | filter object |
recur | recursivelly set filter to sub-objects |
fpn | set filter also to FPN channels |
Reimplemented from GETObject.
References AGET_SIZE, GETObject::filter, IsSignal(), and GETProcessLink::SetExternalProcess().
|
inline |
Set the last cell read in the circular memory buffer.
cell | last cell index |
References last_cell.
|
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).
ptr | noise generator pointer |
recur | recursivelly set noise generator to sub-objects |
fpn | set noise generator also to FPN channels |
Reimplemented from GETObject.
References GetChildrenNumber(), IsSignal(), GETObject::noise_in, and GETProcessLink::SetLocalProcess().
|
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).
obj | noise generator object |
recur | recursivelly set noise generator to sub-objects |
fpn | set noise generator also to FPN channels |
Reimplemented from GETObject.
References GetChildrenNumber(), IsSignal(), GETObject::noise_in, and GETProcessLink::SetExternalProcess().
|
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).
ptr | noise generator pointer |
recur | recursivelly set noise generator to sub-objects |
fpn | set noise generator also to FPN channels |
Reimplemented from GETObject.
References GetChildrenNumber(), IsSignal(), GETObject::noise_out, and GETProcessLink::SetLocalProcess().
|
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).
obj | noise generator object |
recur | recursivelly set noise generator to sub-objects |
fpn | set noise generator also to FPN channels |
Reimplemented from GETObject.
References GetChildrenNumber(), IsSignal(), GETObject::noise_out, and GETProcessLink::SetExternalProcess().
|
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).
ptr | output correction process pointer |
recur | recursivelly set noise generator to sub-objects |
fpn | set noise generator also to FPN channels |
References GetChildrenNumber(), IsSignal(), GETObject::output_corr, and GETProcessLink::SetLocalProcess().
|
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).
obj | output correction process object |
recur | recursivelly set noise generator to sub-objects |
fpn | set noise generator also to FPN channels |
References GetChildrenNumber(), IsSignal(), GETObject::output_corr, and GETProcessLink::SetExternalProcess().
|
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).
ptr | response function pointer |
recur | recursivelly set response function to sub-objects |
fpn | set response function also to FPN channels |
Reimplemented from GETObject.
References AGET_SIZE, IsSignal(), GETObject::response, and GETProcessLink::SetLocalProcess().
|
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).
obj | response function object |
recur | recursivelly set response function to sub-objects |
fpn | set response function also to FPN channels |
Reimplemented from GETObject.
References AGET_SIZE, IsSignal(), GETObject::response, and GETProcessLink::SetExternalProcess().