Analysis
version 7.0 - august 2014
|
#include <GanilBuffer.hh>
Public Member Functions | |
GanilBuffer (GanilRun *ptr=NULL, const u_int s=16384) | |
GanilBuffer (const GanilBuffer &) | |
virtual GanilBuffer & | operator= (const GanilBuffer &original) |
virtual | ~GanilBuffer () |
GanilRun * | GetRunBase () const |
u_int | Size () const |
u_int | GetType () const |
string | GetId () const |
u_int | GetNumber () const |
u_int | GetEventNumber () const |
bool | EndOfBuffer () const |
u_int | GetBufferStat (const u_int t) const |
string | ExtractString (const char end) |
string | ExtractString (const u_int len) |
Int2 | ExtractInt2 () |
Int4 | ExtractInt4 () |
U_Int2 | ExtractUInt2 () |
U_Int4 | ExtractUInt4 () |
void | Skip (const u_int n) |
ClassDef (GanilBuffer, 0) | |
Protected Member Functions | |
void | SetType () |
void | SetEbyedatInfo () |
void | SetEventDBInfo () |
void | SetEOB (const bool b=true) |
int | Read (FILE *) |
void | Reset () |
int | ReadEvent (GanilRun *) |
int | ReadEventDB (GanilRun *) |
int | ReadEbyedat (GanilRun *) |
Protected Attributes | |
u_int | size |
taille du buffer | |
u_int | cursor |
position dans le buffer | |
bool | eob |
test de la fin de buffer | |
u_int | type |
type de buffer | |
string | id |
chaîne d'identification du type de buffer | |
u_int | number |
numéro de buffer | |
u_int | event_num |
numéro d'événement (acq. GANIL) | |
GanilRun * | run_base |
pointeur sur le gestinnaire du run | |
u_int | stat [11] |
table des statistiques de types de buffer | |
byte * | buffer |
pointeur sur la table du buffer | |
GanilEventBufferInfo | buffer_info |
Information des buffers de type EBYEDAT. | |
Private Types | |
enum | GanilBufferTypes { bufferTypeUnknown = 0, bufferTypeFileh = 1, bufferTypeEventh = 2, bufferTypeComment = 3, bufferTypeParam = 4, bufferTypeScaler = 5, bufferTypeEventdb = 6, bufferTypeEbyedat = 7, bufferTypeSpecth = 8, bufferTypeSpectd = 9, bufferTypeEndrun = 10 } |
Types de buffers de l'acquisition GANIL. | |
enum | GanilBufferFlags { bufferFlagFileh = 0x00010000, bufferFlagEventh = 0x00020000, bufferFlagComment = 0x00040000, bufferFlagParam = 0x00080000, bufferFlagScaler = 0x00100000, bufferFlagEventdb = 0x00200000, bufferFlagEbyedat = 0x00400000, bufferFlagSpecth = 0x00800000, bufferFlagSpectd = 0x01000000, bufferFlagEndrun = 0x02000000, bufferFlagHeader = 0x000F0000, bufferFlagEvent = 0x00600000 } |
flags d'information (bits 16 a 31: specifique type d'analyse) | |
Private Member Functions | |
GObject (GanilBuffer) | |
Friends | |
class | GanilRun |
class | GanilScaler |
Classe qui gère les buffers d'acquisition GANIL.
GanilBuffer::GanilBuffer | ( | GanilRun * | gr_ptr = NULL , |
const u_int | s = 16384 |
||
) |
Constructeur par défaut.
gr_ptr | pointeur sur le gestionnaire de run associé |
s | taille du buffer |
References buffer, buffer_info, cursor, event_num, GANIL_BUFFER_TYPE_NUMBER, number, GanilEventBufferInfo::Reset(), run_base, size, stat, and type.
GanilBuffer::GanilBuffer | ( | const GanilBuffer & | original | ) |
Constructeur de recopie.
original | instance à recopier |
References buffer, buffer_info, cursor, event_num, GanilEventBufferInfo::evt_count, GANIL_BUFFER_TYPE_NUMBER, number, run_base, size, stat, and type.
|
virtual |
Destructeur.
References buffer.
|
private |
Macro from GCpp library that defines the following functions:
|
virtual |
|
protected |
Détermine le type de buffer et son numéro.
References buffer, buffer_info, cursor, ExtractUInt4(), GANIL_BUFFER_TYPE_NUMBER, GanilBufferId, number, GanilEventBufferInfo::Reset(), SetEbyedatInfo(), SetEventDBInfo(), size, and type.
Referenced by operator=(), and Read().
|
protected |
Saisie des infos d'un buffer EBYEDAT.
References buffer_info, GanilEventBufferInfo::checksum, GanilEventBufferInfo::dat_len, GanilEventBufferInfo::dest_id, GanilEventBufferInfo::evt_num, ExtractUInt2(), ExtractUInt4(), GanilEventBufferInfo::magic, SetEOB(), GanilEventBufferInfo::src_id, and GanilEventBufferInfo::stream.
Referenced by SetType().
|
protected |
Saisie des infos d'un buffer EVENTDB.
References buffer, buffer_info, GanilEventBufferInfo::checksum, GanilEventBufferInfo::dat_len, GanilEventBufferInfo::dest_id, GanilEventBufferInfo::evt_num, GanilRun::IsLSB(), GanilEventBufferInfo::magic, run_base, GanilEventBufferInfo::src_id, GanilEventBufferInfo::stream, u_int2_LSB(), and u_int2_MSB().
Referenced by SetType().
|
inline |
Retourne le pointeur sur le gestinnaire de run.
References run_base.
|
inline |
Retourne la taille de buffer.
References size.
|
inline |
Retourne le type de buffer.
References type.
Referenced by GanilRun::ReadEvent(), and GanilRun::ReadHeaders().
|
inline |
Retourne l'identifiant du type de buffer.
Referenced by GanilRun::ReadEvent().
|
inline |
|
inline |
Retourne le numéro d'événement GANIL.
References event_num.
|
inline |
Retourne vrai si le buffer est traité complètement.
References eob.
Referenced by GanilRun::ReadEvent().
|
inline |
Retourne le nombre de buffers d'un type donné.
t | type de buffers |
References GANIL_BUFFER_TYPE_NUMBER, and stat.
Referenced by GanilRun::GetBufferStat().
|
inlineprotected |
Positionne l'indication de fin de buffer.
b | état de l'indicateur |
References cursor, eob, and size.
Referenced by Read(), ReadEbyedat(), ReadEventDB(), and SetEbyedatInfo().
|
protected |
Lecture d'un buffer dans un flux d'entrée.
stream | pointeur du fichier d'entrée |
References buffer, cursor, GANIL_DEVICE_NOT_OPEN, GANIL_END_OF_FILE, GANIL_READ_ERROR, SetEOB(), SetType(), size, stat, and type.
Referenced by GanilRun::ReadBuffer().
string GanilBuffer::ExtractString | ( | const char | end | ) |
Extrait une chaîne de caractères du buffer, jusqu'à trouver le caractère end (qui est inclu à la chaîne en sortie).
end | caractère de fin de chaîne |
References buffer, cursor, and size.
Referenced by GanilCoderInfo::SetCoderInfo(), GanilEndrunInfo::SetEndrunInfo(), GanilEventInfo::SetEventInfo(), GanilFileInfo::SetFileInfo(), and GanilParamInfo::SetParamInfo().
string GanilBuffer::ExtractString | ( | const u_int | len | ) |
Int2 GanilBuffer::ExtractInt2 | ( | ) |
Extrait un entier 16 bits signé du buffer.
References buffer, cursor, int2_LSB(), int2_MSB(), GanilRun::IsLSB(), and run_base.
Int4 GanilBuffer::ExtractInt4 | ( | ) |
Extrait un entier 32 bits signé du buffer. Comme l'écriture des données GANIL se fait en 16 bits, les formats LSB/MSB s'appliquent seulement par groupes de 2 octets.
References buffer, cursor, int4_LSB(), int4_MSB(), GanilRun::IsLSB(), and run_base.
Referenced by GanilScaler::SetScalers().
U_Int2 GanilBuffer::ExtractUInt2 | ( | ) |
Extrait un entier 16 bits non signé du buffer.
References buffer, cursor, GanilRun::IsLSB(), run_base, u_int2_LSB(), and u_int2_MSB().
Referenced by ReadEbyedat(), ReadEventDB(), and SetEbyedatInfo().
U_Int4 GanilBuffer::ExtractUInt4 | ( | ) |
Extrait un entier 32 bits non signé du buffer. Comme l'écriture des données GANIL se fait en 16 bits, les formats LSB/MSB s'appliquent seulement par groupes de 2 octets.
References buffer, cursor, GanilRun::IsLSB(), run_base, u_int4_LSB(), and u_int4_MSB().
Referenced by ReadEbyedat(), SetEbyedatInfo(), GanilScaler::SetScalers(), and SetType().
|
inline |
Passe n caratères du buffer, pour des parties de buffer à ignorer.
n | nombre d'octets à passer |
Referenced by ReadEbyedat(), ReadEventDB(), GanilEventInfo::SetEventInfo(), GanilFileInfo::SetFileInfo(), and GanilScaler::SetScalers().
|
protected |
Initialisation d'un buffer.
References buffer_info, cursor, event_num, number, GanilEventBufferInfo::Reset(), size, and type.
|
protected |
Méthode de lecture d'un événement dans le buffer. Elle appelle la méthode correspondant au type de buffer (EVENTDB ou EBYEDAT). Elle renvoit 0 si un événement est lu correctement, et un code d'erreur dans les autres cas.
run_base | pointeur sur le gestionnaire de run (qui donne la référence de l'événement) |
References ReadEbyedat(), ReadEventDB(), and type.
Referenced by GanilRun::ReadEvent().
|
protected |
Méthode de lecture d'un événement dans un buffer EVENTDB.
run_base | pointeur sur le gestionnaire de run (qui donne la référence de l'événement) |
References GanilRun::buffer_count, buffer_info, cursor, EventManager::event, GanilEventBufferInfo::evt_count, GanilEventBufferInfo::evt_num, ExtractUInt2(), GanilCoderInfo::fix1, GanilCoderInfo::fixn, GANIL_EMPTY_BUFFER, GANIL_EVENT_ERROR, Param::Get(), GanilParamInfo::mask_table, GanilCoderInfo::number, GanilParamInfo::number_table, GanilRun::opt_warn_empty_buffer, SetEOB(), Skip(), GanilCoderInfo::trig, GanilCoderInfo::trignum, and Param::TypeId().
Referenced by ReadEvent().
|
protected |
Méthode de lecture d'un événement dans un buffer EBYEDAT.
run_base | pointeur sur le gestionnaire de run (qui donne la référence de l'événement) |
References buffer_info, cursor, EventManager::event, event_num, GanilEventBufferInfo::evt_count, GanilEventBufferInfo::evt_num, ExtractUInt2(), ExtractUInt4(), GANIL_EVENT_ERROR, Param::Get(), GanilParamInfo::mask_table, GanilParamInfo::number_table, SetEOB(), size, Skip(), and Param::TypeId().
Referenced by ReadEvent().
GanilBuffer::ClassDef | ( | GanilBuffer | , |
0 | |||
) |
Définition à usage de ROOT...