Analysis  version 7.0 - august 2014
GanilBuffer Class Reference

#include <GanilBuffer.hh>

Public Member Functions

 GanilBuffer (GanilRun *ptr=NULL, const u_int s=16384)
 
 GanilBuffer (const GanilBuffer &)
 
virtual GanilBufferoperator= (const GanilBuffer &original)
 
virtual ~GanilBuffer ()
 
GanilRunGetRunBase () 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)
 
GanilRunrun_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
 

Detailed Description

Classe qui gère les buffers d'acquisition GANIL.

Constructor & Destructor Documentation

GanilBuffer::GanilBuffer ( GanilRun gr_ptr = NULL,
const u_int  s = 16384 
)

Constructeur par défaut.

Parameters
gr_ptrpointeur sur le gestionnaire de run associé
staille 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.

Parameters
originalinstance à recopier

References buffer, buffer_info, cursor, event_num, GanilEventBufferInfo::evt_count, GANIL_BUFFER_TYPE_NUMBER, number, run_base, size, stat, and type.

GanilBuffer::~GanilBuffer ( )
virtual

Destructeur.

References buffer.

Member Function Documentation

GanilBuffer::GObject ( GanilBuffer  )
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.
GanilBuffer & GanilBuffer::operator= ( const GanilBuffer original)
virtual

Opérateur d'affectaion.

Parameters
originalinstance à recopier

References buffer, cursor, GANIL_BUFFER_TYPE_NUMBER, run_base, SetType(), size, stat, and type.

void GanilBuffer::SetType ( )
protected
GanilRun * GanilBuffer::GetRunBase ( ) const
inline

Retourne le pointeur sur le gestinnaire de run.

References run_base.

u_int GanilBuffer::Size ( ) const
inline

Retourne la taille de buffer.

References size.

u_int GanilBuffer::GetType ( ) const
inline

Retourne le type de buffer.

References type.

Referenced by GanilRun::ReadEvent(), and GanilRun::ReadHeaders().

string GanilBuffer::GetId ( ) const
inline

Retourne l'identifiant du type de buffer.

Referenced by GanilRun::ReadEvent().

u_int GanilBuffer::GetNumber ( ) const
inline

Retourne le numéro de buffer.

References number.

Referenced by GanilScaler::SetScalers().

u_int GanilBuffer::GetEventNumber ( ) const
inline

Retourne le numéro d'événement GANIL.

References event_num.

bool GanilBuffer::EndOfBuffer ( ) const
inline

Retourne vrai si le buffer est traité complètement.

References eob.

Referenced by GanilRun::ReadEvent().

u_int GanilBuffer::GetBufferStat ( const u_int  t) const
inline

Retourne le nombre de buffers d'un type donné.

Parameters
ttype de buffers

References GANIL_BUFFER_TYPE_NUMBER, and stat.

Referenced by GanilRun::GetBufferStat().

void GanilBuffer::SetEOB ( const bool  b = true)
inlineprotected

Positionne l'indication de fin de buffer.

Parameters
bétat de l'indicateur

References cursor, eob, and size.

Referenced by Read(), ReadEbyedat(), ReadEventDB(), and SetEbyedatInfo().

int GanilBuffer::Read ( FILE *  stream)
protected

Lecture d'un buffer dans un flux d'entrée.

Parameters
streampointeur 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).

Parameters
endcaractè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)

Extrait une chîne de caractères de longueur len du buffer.

Parameters
lenlongueur de la chaîne à extraire

References buffer, cursor, and size.

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

void GanilBuffer::Skip ( const u_int  n)
inline

Passe n caratères du buffer, pour des parties de buffer à ignorer.

Parameters
nnombre d'octets à passer

References cursor, and size.

Referenced by ReadEbyedat(), ReadEventDB(), GanilEventInfo::SetEventInfo(), GanilFileInfo::SetFileInfo(), and GanilScaler::SetScalers().

void GanilBuffer::Reset ( )
protected

Initialisation d'un buffer.

References buffer_info, cursor, event_num, number, GanilEventBufferInfo::Reset(), size, and type.

int GanilBuffer::ReadEvent ( GanilRun run_base)
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.

Parameters
run_basepointeur sur le gestionnaire de run (qui donne la référence de l'événement)

References ReadEbyedat(), ReadEventDB(), and type.

Referenced by GanilRun::ReadEvent().

int GanilBuffer::ReadEventDB ( GanilRun run_base)
protected
int GanilBuffer::ReadEbyedat ( GanilRun run_base)
protected

Méthode de lecture d'un événement dans un buffer EBYEDAT.

Parameters
run_basepointeur 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  ,
 
)

Définition à usage de ROOT...


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