|
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) |
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 GETChannel * | GetChannel (u_int n) |
| const GETObject * | GetParent () const |
| GETObject * | GetParent () |
| 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) |
| 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) | |
| 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. | |
| 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 |
| class | GETSystem |
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 |
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.
|
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().
| void GETAGet::FillAverageFPN | ( | GETSample & | mean | ) |
Fills the argument sample with the average of the FPN channels.
| mean | resulting 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().
|
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(), GETSystem::CalcMultiplicity(), 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.
Referenced by FillAverageFPN(), and GETSystemAnalyser::ProcessFPNtestAnalysis().
|
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 |
Return the total number of signal channels (including FPN) under the object.
Reimplemented from GETObject.
References AGET_SIZE.
Referenced by GETSystemAnalyser::ProcessFPNtestAnalysis().
|
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().