Analysis  version 7.0 - august 2014
GanilRun.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GanilRun.hh
3  *
4  * Déclaration des méthodes de la classe GanilRun qui gère l'analyse
5  * des runs de l'acquisition GANIL.
6  */
7 //======================================================================
8 
9 #ifndef GANIL_RUN_HH
10 #define GANIL_RUN_HH
11 
12 #include "GanilInfo.hh"
13 #include "GanilBuffer.hh"
14 #include "GanilScaler.hh"
15 #include "GanilGlobal.hh"
16 
17 #include "RunBase.hh"
18 
19 //======================================================================
20 /*! \class GanilRun
21  *
22  * C'est la classe principale pour l'analyse des runs de l'acquisition
23  * GANIL.
24  * Elle dérive des classes suivantes:
25  * - GanilInfo, qui fournit les informations des buffers d'entête
26  * - RunBase, classe de base des analyses
27  *
28  * C'est une classe abstraite: elle doit être dérivée.
29  * Les fonctions utilisateur sont celles définies dans la classe de base
30  * RunBase.
31  *
32  * Deux nouvelles fonctions utilisateurs sont définies.
33  * - la fonction UserBuffer, qui est appelée à la lecture de chaque
34  * buffer de données.
35  * - la fonction UserScaler, qui est appelée lorsqu'un buffer d'échelles
36  * a été lu.
37  */
38 
39 class GanilRun : virtual public RunBase, public GanilInfo
40 {
41  friend class GanilBuffer;
42 
43  /// Format des données binaires
45  {
46  fmtMSB = 0,
47  fmtLSB = 1
48  };
49 
50  /// Bits d'état des runs GANIL
52  {
53  statusFileh = 0x00010000, // Bit d'état indiquant la lecture de buffers FILEH
54  statusEventh = 0x00020000, // Bit d'état indiquant la lecture de buffers EVENTH
55  statusComment = 0x00040000, // Bit d'état indiquant la lecture de buffers COMMENT
56  statusParam = 0x00080000, // Bit d'état indiquant la lecture de buffers PARAM
57  statusEndrun = 0x00100000, // Bit d'état indiquant la lecture de buffers ENDRUN
58 
59  statusHeader = 0x000F0000, // Masque sur les bits d'état des buffers d'entête
60 
61  statusEventCreated = 0x00200000, // Bit d'état indiquant la structure d'événement brut est créée
62  statusEndOfFile = 0x00400000 // Bit d'état indiquant la fin de fichier
63  };
64 
65 //----------------------------------------------------------------------
66  /*! \object_doc */
68 //----------------------------------------------------------------------
69 
70  protected:
71  u_int status; ///< bits d'état de l'analyse
72  u_int format; ///< format binaire
73 
74  // options
75  bool opt_warn_empty_buffer; ///< alerte en cas de buffer vide
76 
77 #ifndef __MAKECINT__
78  FILE * file_ptr; ///< pointeur sur le fichier de runs
79 #endif
80 
81  GanilBuffer buffer_data; ///< données du buffer courant de fichier
82  u_int buffer_count; ///< compteur des buffers
83  u_int total_buffer_count; ///< compteur des buffers
84 
85  GanilScaler scaler_data; ///< information des buffers d'échelles
86 
87  public:
88  // constructeur par défaut
89  GanilRun ( );
90 
91  // destructeur
92  virtual ~GanilRun ( );
93 
94  protected:
95  // constructeur de recopie
96  GanilRun ( const GanilRun &original );
97 
98  public:
99 
100  // fonctions abstraites de la classe de base
101  virtual int Open ( );
102  virtual int Open ( const string &f_name );
103  virtual int Open ( const u_int f_num );
104  virtual bool IsOpen ( );
105  virtual int Close ( );
106 
107  virtual int RunInit ( );
108  virtual int ReadEvent ( );
109 
110  // surcharge des autres fonctions
111  virtual void Reset ( );
112  virtual void BufferReset ( );
113  virtual int ReadHeaders ( );
114  virtual int ReadBuffer ( );
115 
116  protected:
117  virtual int FileOpen ( );
118  virtual void FileClose ( );
119 
120 //----------------------------------------------------------------------
121  public:
122 
123  void SetOptionWarnEmptyBuffer ( const bool b = true );
124 
125 //----------------------------------------------------------------------
126  // dump de l'événement (paramètres GANIL) sur la sortie standard.
127  void DumpGanilEvent ( const bool all = false ) const;
128 
129  // dump de l'événements (paramètres GANIL) dans un fichier
130  void DumpGanilEvent ( const string &file_name, const bool all = false ) const;
131 
132  // dump de l'événements (paramètres GANIL) dans un flux de sortie
133  void DumpGanilEvent ( ostream &os, const bool all = false ) const;
134 
135  // dump de l'événement (paramètres GANIL) sur la sortie standard.
136  void DumpUserEvent ( const bool all = false ) const;
137 
138  // dump de l'événements (paramètres GANIL) dans un fichier
139  void DumpUserEvent ( const string &file_name, const bool all = false ) const;
140 
141  // dump de l'événements (paramètres GANIL) dans un flux de sortie
142  void DumpUserEvent ( ostream &os, const bool all = false ) const;
143 
144 //----------------------------------------------------------------------
145  virtual void EndrunInfo ( ostream & );
146 
147  // sortie des statistiques du run
148  virtual void StatInfo ( ) const;
149  virtual void StatInfo ( ostream & ) const;
150 
151  u_int GetScalerNumber ( ) const;
152  u_int GetScalerAcqStatus ( ) const;
153  u_int GetScalerLabel ( const u_int n ) const;
154  u_int GetScalerValue ( const u_int n ) const;
155  u_int GetScalerFreq ( const u_int n ) const;
156  u_int GetScalerTics ( const u_int n ) const;
157  int GetScalerStatus ( const u_int n ) const;
158 
159 
160  // Retourne infos de run GANIL
161  u_int GetRunNumber ( ) const;
162  u_int GetEventNumber ( ) const; // nombre d'événements total dans le run
163 
164  // Retourne le nombre de buffers lus.
165  u_int GetBufferCount ( ) const;
166  u_int GetTotalBufferCount ( ) const;
167 
168  // Retourne le nombre de buffers d'un type donné. u_int GetBufferStat ( const u_int t ) const; // Retourne le nombre de paramètres GANIL/user de l'événement. u_int GetGanilParamNumber ( ) const; u_int GetUserParamNumber ( ) const; bool SetGanilParamMultihit ( const string &par_name ); bool SetGanilParamMultihit ( const u_int par_num ); bool SetGanilParamArray ( const string &par_name, const int dim ); bool SetGanilParamArray ( const u_int par_num, const int dim ); // teste la fin de run bool EndOfRun ( ) const; // test du format binaire bool IsLSB ( ) const; bool IsMSB ( ) const; //---------------------------------------------------------------------- // ajout d'un paramètre utilisateur (surcharge de EventManager) int AddParam ( const Param &par ); // mise à valeur un paramètre (user) de l'événement. template < class T > const Data & SetParam( const u_int num, const T &val ); template < class T > const Data & SetParam( const string &par_name, const T &val ); // mise à valeur un paramètre multiple (user) de l'événement. template < class T > const Data & SetParam( const u_int num, const u_int index, const T &val ); template < class T > const Data & SetParam( const string &par_name, const u_int index, const T &val ); //---------------------------------------------------------------------- // Méthodes protégées protected: // création de la structure d'événement virtual int CreateEvent ( ); //---------------------------------------------------------------------- // Fonctions utilisateur supplémentaires //---------------------------------------------------------------------- /* Fonction utilisateur appelée chaque fois qu'un buffer. * est lu. * (elle est appelée dans GanilDevice::ReadBuffer) */ virtual int UserBuffer ( ); /* Fonction utilisateur de traitement des buffers d'échelle. * (elle est appelée dans GanilDevice::ReadEvent) */ virtual int UserScaler ( ); //---------------------------------------------------------------------- // pour ROOT... public: /*! Définition à usage de ROOT... */ ClassDef(GanilRun,0); }; //====================================================================== // METHODES INLINE //====================================================================== /*! Définit l'option d'affichage des alertes en cas de buffers d'événements * vides. * \param b état de l'otion */ inline void GanilRun::SetOptionWarnEmptyBuffer ( const bool b ) { opt_warn_empty_buffer = b; } /*! Surcharge de la fonction de la classe RunBase. * La fonction ne fait qu'appeler celle de RunBase. * \param f_name nom du fichier */ inline int GanilRun::Open ( const string &f_name ) { return (RunBase::Open (f_name)); } /*! Surcharge de la fonction de la classe RunBase. * La fonction ne fait qu'appeler celle de RunBase. * \param f_num numéro du fichier */ inline int GanilRun::Open ( const u_int f_num ) { return (RunBase::Open (f_num)); } //---------------------------------------------------------------------- /*! Retourne le numéro de run en cours. */ inline u_int GanilRun::GetRunNumber () const { return (GanilEventInfo::run_number); } /*! Retourne le nombre d'événement lus (en fin de run). */ inline u_int GanilRun::GetEventNumber () const { return (event_number); } /*! Retourne le nombre de buffers lus dans le fichier en cours. */ inline u_int GanilRun::GetBufferCount () const { return (buffer_count); } /*! Retourne le nombre total de buffers lus. */ inline u_int GanilRun::GetTotalBufferCount () const { return (total_buffer_count); } /*! Retourne le nombre de buffers d'un type donné. * \param t type de buffers */ inline u_int GanilRun::GetBufferStat ( const u_int t ) const { return (buffer_data.GetBufferStat(t)); } //---------------------------------------------------------------------- /*! Ecriture des informations concernant la statistique du run sur la * sortie standard. */ inline void GanilRun::StatInfo() const { StatInfo (cout); } //---------------------------------------------------------------------- /*! Retourne le nombre de voies d'échelles.*/ inline u_int GanilRun::GetScalerNumber ( ) const { return (scaler_data.GetNumber()); } /*! Retourne le label (numéro) d'une échelle, et 0xFFFFFFFF si elle n'est pas définie. * \param n numéro de l'échelle */ inline u_int GanilRun::GetScalerLabel ( const u_int n ) const { return (scaler_data.GetLabel(n)); } /*! Retourne la valeur d'une échelle, et 0xFFFFFFFF si elle n'est pas définie. * \param n numéro de l'échelle */ inline u_int GanilRun::GetScalerValue ( const u_int n ) const { return (scaler_data.GetValue(n)); } /*! Retourne la fréquence d'une échelle, et 0xFFFFFFFF si elle n'est pas définie. * \param n numéro de l'échelle */ inline u_int GanilRun::GetScalerFreq ( const u_int n ) const { return (scaler_data.GetFreq(n)); } /*! Retourne le délai (x10ms) d'une échelle, et 0xFFFFFFFF si elle n'est pas définie. * \param n numéro de l'échelle */ inline u_int GanilRun::GetScalerTics ( const u_int n ) const { return (scaler_data.GetTics(n)); } /*! Retourne l'état d'une échelle: 1 = marche, 0 = arrêt, -1 = offline, -2 = non définie. * \param n numéro de l'échelle */ inline int GanilRun::GetScalerStatus ( const u_int n ) const { return (scaler_data.GetStatus(n)); } /*! Retourne l'état de l'acquisition: 1 = marche, 0 = arrêt.*/ inline u_int GanilRun::GetScalerAcqStatus ( ) const { return (scaler_data.GetAcqStatus()); } //---------------------------------------------------------------------- /*! Retourne le nombre de paramètres GANIL (paramètres bruts) de * la structure d'événement. */ inline u_int GanilRun::GetGanilParamNumber () const { return (param_list.GetSize()); } /*! Retourne le nombre de paramètres utilisateur de * la structure d'événement. */ inline u_int GanilRun::GetUserParamNumber () const { return (event.GetSize() - param_list.GetSize()); } /*! Retourne vrai si le run est au format LSB. */ inline bool GanilRun::IsLSB () const { return ( format == fmtLSB ); } /*! Retourne vrai si le run est au format MSB. */ inline bool GanilRun::IsMSB () const { return ( format == fmtMSB ); } /*! Retourne vrai si la fin de run est atteinte. */ inline bool GanilRun::EndOfRun () const { return ( (status & statusEndrun) != 0 ); } //---------------------------------------------------------------------- // SORTIE DES EVENEMENTS /*! Ecriture des paramètres GANIL de l'événement courant sur la sortie * standard: seuls les paramètres bruts de l'acquisition GANIL sont écris. * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( const bool all ) const { DumpEvent ( cout, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres GANIL de l'événement courant dans un * fichier: seuls les paramètres bruts de l'acquisition GANIL sont écris. * \param file_name nom du fichier de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres GANIL de l'événement courant dans un flux de * sortie: seuls les paramètres bruts de l'acquisition GANIL sont écris. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant sur la sortie * standard. * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const bool all ) const { DumpEvent ( cout, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un * fichier. * \param file_name nom du fichier de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un flux de * sortie. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, GetGanilParamNumber(), param_list.GetSize() ); } //---------------------------------------------------------------------- // AFFECTATION DES PARAMETRES //---------------------------------------------------------------------- // Surcharge de la classe EventManager pour protéger les paramètres // bruts /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param num numéro de paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
169  u_int GetBufferStat ( const u_int t ) const;
170 
171  // Retourne le nombre de paramètres GANIL/user de l'événement.
172  u_int GetGanilParamNumber ( ) const;
173  u_int GetUserParamNumber ( ) const;
174 
175  bool SetGanilParamMultihit ( const string &par_name );
176  bool SetGanilParamMultihit ( const u_int par_num );
177 
178  bool SetGanilParamArray ( const string &par_name, const int dim );
179  bool SetGanilParamArray ( const u_int par_num, const int dim );
180 
181  // teste la fin de run
182  bool EndOfRun ( ) const;
183 
184  // test du format binaire
185  bool IsLSB ( ) const;
186  bool IsMSB ( ) const;
187 
188 //----------------------------------------------------------------------
189 
190  // ajout d'un paramètre utilisateur (surcharge de EventManager)
191  int AddParam ( const Param &par );
192 
193  // mise à valeur un paramètre (user) de l'événement.
194  template < class T > const Data & SetParam( const u_int num, const T &val );
195  template < class T > const Data & SetParam( const string &par_name, const T &val );
196 
197  // mise à valeur un paramètre multiple (user) de l'événement.
198  template < class T > const Data & SetParam( const u_int num, const u_int index, const T &val );
199  template < class T > const Data & SetParam( const string &par_name, const u_int index, const T &val );
200 
201 //----------------------------------------------------------------------
202 // Méthodes protégées
203 
204  protected:
205 
206  // création de la structure d'événement
207  virtual int CreateEvent ( );
208 
209 //----------------------------------------------------------------------
210 // Fonctions utilisateur supplémentaires
211 //----------------------------------------------------------------------
212 
213  /* Fonction utilisateur appelée chaque fois qu'un buffer.
214  * est lu.
215  * (elle est appelée dans GanilDevice::ReadBuffer)
216  */
217  virtual int UserBuffer ( );
218 
219  /* Fonction utilisateur de traitement des buffers d'échelle.
220  * (elle est appelée dans GanilDevice::ReadEvent)
221  */
222  virtual int UserScaler ( );
223 
224 
225 //----------------------------------------------------------------------
226 // pour ROOT...
227  public:
228  /*! Définition à usage de ROOT... */
229  ClassDef(GanilRun,0);
230 };
231 
232 
233 //======================================================================
234 // METHODES INLINE
235 //======================================================================
236 
237 /*! Définit l'option d'affichage des alertes en cas de buffers d'événements
238  * vides.
239  * \param b état de l'otion
240  */
241 inline void GanilRun::SetOptionWarnEmptyBuffer ( const bool b )
242  { opt_warn_empty_buffer = b; }
243 
244 /*! Surcharge de la fonction de la classe RunBase.
245  * La fonction ne fait qu'appeler celle de RunBase.
246  * \param f_name nom du fichier
247  */
248 inline int GanilRun::Open ( const string &f_name )
249  { return (RunBase::Open (f_name)); }
250 
251 /*! Surcharge de la fonction de la classe RunBase.
252  * La fonction ne fait qu'appeler celle de RunBase.
253  * \param f_num numéro du fichier
254  */
255 inline int GanilRun::Open ( const u_int f_num )
256  { return (RunBase::Open (f_num)); }
257 
258 //----------------------------------------------------------------------
259 
260 /*! Retourne le numéro de run en cours.
261  */
262 inline u_int GanilRun::GetRunNumber () const
263  { return (GanilEventInfo::run_number); }
264 
265 /*! Retourne le nombre d'événement lus (en fin de run).
266  */
267 inline u_int GanilRun::GetEventNumber () const
268  { return (event_number); }
269 
270 /*! Retourne le nombre de buffers lus dans le fichier en cours.
271  */
272 inline u_int GanilRun::GetBufferCount () const
273  { return (buffer_count); }
274 
275 /*! Retourne le nombre total de buffers lus.
276  */
277 inline u_int GanilRun::GetTotalBufferCount () const
278  { return (total_buffer_count); }
279 
280 /*! Retourne le nombre de buffers d'un type donné. * \param t type de buffers */ inline u_int GanilRun::GetBufferStat ( const u_int t ) const { return (buffer_data.GetBufferStat(t)); } //---------------------------------------------------------------------- /*! Ecriture des informations concernant la statistique du run sur la * sortie standard. */ inline void GanilRun::StatInfo() const { StatInfo (cout); } //---------------------------------------------------------------------- /*! Retourne le nombre de voies d'échelles.*/ inline u_int GanilRun::GetScalerNumber ( ) const { return (scaler_data.GetNumber()); } /*! Retourne le label (numéro) d'une échelle, et 0xFFFFFFFF si elle n'est pas définie. * \param n numéro de l'échelle */ inline u_int GanilRun::GetScalerLabel ( const u_int n ) const { return (scaler_data.GetLabel(n)); } /*! Retourne la valeur d'une échelle, et 0xFFFFFFFF si elle n'est pas définie. * \param n numéro de l'échelle */ inline u_int GanilRun::GetScalerValue ( const u_int n ) const { return (scaler_data.GetValue(n)); } /*! Retourne la fréquence d'une échelle, et 0xFFFFFFFF si elle n'est pas définie. * \param n numéro de l'échelle */ inline u_int GanilRun::GetScalerFreq ( const u_int n ) const { return (scaler_data.GetFreq(n)); } /*! Retourne le délai (x10ms) d'une échelle, et 0xFFFFFFFF si elle n'est pas définie. * \param n numéro de l'échelle */ inline u_int GanilRun::GetScalerTics ( const u_int n ) const { return (scaler_data.GetTics(n)); } /*! Retourne l'état d'une échelle: 1 = marche, 0 = arrêt, -1 = offline, -2 = non définie. * \param n numéro de l'échelle */ inline int GanilRun::GetScalerStatus ( const u_int n ) const { return (scaler_data.GetStatus(n)); } /*! Retourne l'état de l'acquisition: 1 = marche, 0 = arrêt.*/ inline u_int GanilRun::GetScalerAcqStatus ( ) const { return (scaler_data.GetAcqStatus()); } //---------------------------------------------------------------------- /*! Retourne le nombre de paramètres GANIL (paramètres bruts) de * la structure d'événement. */ inline u_int GanilRun::GetGanilParamNumber () const { return (param_list.GetSize()); } /*! Retourne le nombre de paramètres utilisateur de * la structure d'événement. */ inline u_int GanilRun::GetUserParamNumber () const { return (event.GetSize() - param_list.GetSize()); } /*! Retourne vrai si le run est au format LSB. */ inline bool GanilRun::IsLSB () const { return ( format == fmtLSB ); } /*! Retourne vrai si le run est au format MSB. */ inline bool GanilRun::IsMSB () const { return ( format == fmtMSB ); } /*! Retourne vrai si la fin de run est atteinte. */ inline bool GanilRun::EndOfRun () const { return ( (status & statusEndrun) != 0 ); } //---------------------------------------------------------------------- // SORTIE DES EVENEMENTS /*! Ecriture des paramètres GANIL de l'événement courant sur la sortie * standard: seuls les paramètres bruts de l'acquisition GANIL sont écris. * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( const bool all ) const { DumpEvent ( cout, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres GANIL de l'événement courant dans un * fichier: seuls les paramètres bruts de l'acquisition GANIL sont écris. * \param file_name nom du fichier de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres GANIL de l'événement courant dans un flux de * sortie: seuls les paramètres bruts de l'acquisition GANIL sont écris. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant sur la sortie * standard. * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const bool all ) const { DumpEvent ( cout, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un * fichier. * \param file_name nom du fichier de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un flux de * sortie. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, GetGanilParamNumber(), param_list.GetSize() ); } //---------------------------------------------------------------------- // AFFECTATION DES PARAMETRES //---------------------------------------------------------------------- // Surcharge de la classe EventManager pour protéger les paramètres // bruts /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param num numéro de paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
281  * \param t type de buffers
282  */
283 inline u_int GanilRun::GetBufferStat ( const u_int t ) const
284  { return (buffer_data.GetBufferStat(t)); }
285 
286 
287 //----------------------------------------------------------------------
288 
289 /*! Ecriture des informations concernant la statistique du run sur la
290  * sortie standard.
291  */
292 inline void GanilRun::StatInfo() const
293  { StatInfo (cout); }
294 
295 
296 //----------------------------------------------------------------------
297 
298 /*! Retourne le nombre de voies d'échelles.*/
299 inline u_int GanilRun::GetScalerNumber ( ) const
300  { return (scaler_data.GetNumber()); }
301 
302 /*! Retourne le label (numéro) d'une échelle, et 0xFFFFFFFF si elle n'est pas définie.
303  * \param n numéro de l'échelle
304  */
305 inline u_int GanilRun::GetScalerLabel ( const u_int n ) const
306  { return (scaler_data.GetLabel(n)); }
307 
308 /*! Retourne la valeur d'une échelle, et 0xFFFFFFFF si elle n'est pas définie.
309  * \param n numéro de l'échelle
310  */
311 inline u_int GanilRun::GetScalerValue ( const u_int n ) const
312  { return (scaler_data.GetValue(n)); }
313 
314 /*! Retourne la fréquence d'une échelle, et 0xFFFFFFFF si elle n'est pas définie.
315  * \param n numéro de l'échelle
316  */
317 inline u_int GanilRun::GetScalerFreq ( const u_int n ) const
318  { return (scaler_data.GetFreq(n)); }
319 
320 /*! Retourne le délai (x10ms) d'une échelle, et 0xFFFFFFFF si elle n'est pas définie.
321  * \param n numéro de l'échelle
322  */
323 inline u_int GanilRun::GetScalerTics ( const u_int n ) const
324  { return (scaler_data.GetTics(n)); }
325 
326 /*! Retourne l'état d'une échelle: 1 = marche, 0 = arrêt, -1 = offline, -2 = non définie.
327  * \param n numéro de l'échelle
328  */
329 inline int GanilRun::GetScalerStatus ( const u_int n ) const
330  { return (scaler_data.GetStatus(n)); }
331 
332 
333 /*! Retourne l'état de l'acquisition: 1 = marche, 0 = arrêt.*/
334 inline u_int GanilRun::GetScalerAcqStatus ( ) const
335  { return (scaler_data.GetAcqStatus()); }
336 
337 
338 //----------------------------------------------------------------------
339 
340 /*! Retourne le nombre de paramètres GANIL (paramètres bruts) de
341  * la structure d'événement.
342  */
343 inline u_int GanilRun::GetGanilParamNumber () const
344  { return (param_list.GetSize()); }
345 
346 /*! Retourne le nombre de paramètres utilisateur de
347  * la structure d'événement.
348  */
349 inline u_int GanilRun::GetUserParamNumber () const
350  { return (event.GetSize() - param_list.GetSize()); }
351 
352 /*! Retourne vrai si le run est au format LSB.
353  */
354 inline bool GanilRun::IsLSB () const
355  { return ( format == fmtLSB ); }
356 
357 /*! Retourne vrai si le run est au format MSB.
358  */
359 inline bool GanilRun::IsMSB () const
360  { return ( format == fmtMSB ); }
361 
362 /*! Retourne vrai si la fin de run est atteinte.
363  */
364 inline bool GanilRun::EndOfRun () const
365  { return ( (status & statusEndrun) != 0 ); }
366 
367 
368 //----------------------------------------------------------------------
369 // SORTIE DES EVENEMENTS
370 
371 /*! Ecriture des paramètres GANIL de l'événement courant sur la sortie
372  * standard: seuls les paramètres bruts de l'acquisition GANIL sont écris.
373  * \param all indique s'il faut écrire tout l'événement, y compris
374  * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( const bool all ) const { DumpEvent ( cout, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres GANIL de l'événement courant dans un * fichier: seuls les paramètres bruts de l'acquisition GANIL sont écris. * \param file_name nom du fichier de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres GANIL de l'événement courant dans un flux de * sortie: seuls les paramètres bruts de l'acquisition GANIL sont écris. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant sur la sortie * standard. * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const bool all ) const { DumpEvent ( cout, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un * fichier. * \param file_name nom du fichier de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un flux de * sortie. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, GetGanilParamNumber(), param_list.GetSize() ); } //---------------------------------------------------------------------- // AFFECTATION DES PARAMETRES //---------------------------------------------------------------------- // Surcharge de la classe EventManager pour protéger les paramètres // bruts /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param num numéro de paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
375  */
376 inline void GanilRun::DumpGanilEvent ( const bool all ) const
377  { DumpEvent ( cout, all, 0, GetGanilParamNumber() ); }
378 
379 /*! Ecriture des paramètres GANIL de l'événement courant dans un
380  * fichier: seuls les paramètres bruts de l'acquisition GANIL sont écris.
381  * \param file_name nom du fichier de sortie
382  * \param all indique s'il faut écrire tout l'événement, y compris
383  * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres GANIL de l'événement courant dans un flux de * sortie: seuls les paramètres bruts de l'acquisition GANIL sont écris. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant sur la sortie * standard. * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const bool all ) const { DumpEvent ( cout, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un * fichier. * \param file_name nom du fichier de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un flux de * sortie. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, GetGanilParamNumber(), param_list.GetSize() ); } //---------------------------------------------------------------------- // AFFECTATION DES PARAMETRES //---------------------------------------------------------------------- // Surcharge de la classe EventManager pour protéger les paramètres // bruts /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param num numéro de paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
384  */
385 inline void GanilRun::DumpGanilEvent ( const string & file_name, const bool all ) const
386  { DumpEvent ( file_name, all, 0, GetGanilParamNumber() ); }
387 
388 /*! Ecriture des paramètres GANIL de l'événement courant dans un flux de
389  * sortie: seuls les paramètres bruts de l'acquisition GANIL sont écris.
390  * \param os flux de sortie
391  * \param all indique s'il faut écrire tout l'événement, y compris
392  * les paramètres non affectés */ inline void GanilRun::DumpGanilEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, 0, GetGanilParamNumber() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant sur la sortie * standard. * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const bool all ) const { DumpEvent ( cout, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un * fichier. * \param file_name nom du fichier de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un flux de * sortie. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, GetGanilParamNumber(), param_list.GetSize() ); } //---------------------------------------------------------------------- // AFFECTATION DES PARAMETRES //---------------------------------------------------------------------- // Surcharge de la classe EventManager pour protéger les paramètres // bruts /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param num numéro de paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
393  */
394 inline void GanilRun::DumpGanilEvent ( ostream &os, const bool all ) const
395  { DumpEvent ( os, all, 0, GetGanilParamNumber() ); }
396 
397 /*! Ecriture des paramètres utilisateurs de l'événement courant sur la sortie
398  * standard.
399  * \param all indique s'il faut écrire tout l'événement, y compris
400  * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const bool all ) const { DumpEvent ( cout, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un * fichier. * \param file_name nom du fichier de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un flux de * sortie. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, GetGanilParamNumber(), param_list.GetSize() ); } //---------------------------------------------------------------------- // AFFECTATION DES PARAMETRES //---------------------------------------------------------------------- // Surcharge de la classe EventManager pour protéger les paramètres // bruts /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param num numéro de paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
401  */
402 inline void GanilRun::DumpUserEvent ( const bool all ) const
403  { DumpEvent ( cout, all, GetGanilParamNumber(), param_list.GetSize() ); }
404 
405 /*! Ecriture des paramètres utilisateurs de l'événement courant dans un
406  * fichier.
407  * \param file_name nom du fichier de sortie
408  * \param all indique s'il faut écrire tout l'événement, y compris
409  * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( const string & file_name, const bool all ) const { DumpEvent ( file_name, all, GetGanilParamNumber(), param_list.GetSize() ); } /*! Ecriture des paramètres utilisateurs de l'événement courant dans un flux de * sortie. * \param os flux de sortie * \param all indique s'il faut écrire tout l'événement, y compris * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, GetGanilParamNumber(), param_list.GetSize() ); } //---------------------------------------------------------------------- // AFFECTATION DES PARAMETRES //---------------------------------------------------------------------- // Surcharge de la classe EventManager pour protéger les paramètres // bruts /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param num numéro de paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
410  */
411 inline void GanilRun::DumpUserEvent ( const string & file_name, const bool all ) const
412  { DumpEvent ( file_name, all, GetGanilParamNumber(), param_list.GetSize() ); }
413 
414 /*! Ecriture des paramètres utilisateurs de l'événement courant dans un flux de
415  * sortie.
416  * \param os flux de sortie
417  * \param all indique s'il faut écrire tout l'événement, y compris
418  * les paramètres non affectés */ inline void GanilRun::DumpUserEvent ( ostream &os, const bool all ) const { DumpEvent ( os, all, GetGanilParamNumber(), param_list.GetSize() ); } //---------------------------------------------------------------------- // AFFECTATION DES PARAMETRES //---------------------------------------------------------------------- // Surcharge de la classe EventManager pour protéger les paramètres // bruts /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param num numéro de paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
419  */
420 inline void GanilRun::DumpUserEvent ( ostream &os, const bool all ) const
421  { DumpEvent ( os, all, GetGanilParamNumber(), param_list.GetSize() ); }
422 
423 
424 
425 //----------------------------------------------------------------------
426 // AFFECTATION DES PARAMETRES
427 //----------------------------------------------------------------------
428 // Surcharge de la classe EventManager pour protéger les paramètres
429 // bruts
430 
431 /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur
432  * à partir d'une valeur donnée par un type de base ou une instance
433  * de type Data.
434  * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param num numéro de paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
435  * courante du tableau qui est affectée.
436  * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle
437  * donnée est ajoutée en fin de liste.
438  * Le type en retour est une référence sur l'instance Data associée au
439  * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param num numéro de paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
440  * en retour (par référence) ne doit pas être modifiée directement.
441  * \param num numéro de paramètre
442  * \param val valeur à affecter (Data ou type de base)
443  */
444 template < class T > const Data & GanilRun::SetParam(
445  const u_int num,
446  const T &val )
447 {
448  if (num >= param_list.GetSize())
449  {
450  return (EventManager::SetParam(num,val));
451  }
452  else
453  {
454  GLogWarning ( "SetParam(): Raw parameter "
455  + event[num].Name() + " not affectable");
456  return (bad_data);
457  }
458 }
459 
460 /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur
461  * à partir d'une valeur donnée par un type de base ou une instance
462  * de type Data.
463  * Dans le cas d'un paramètre de type ParamArray, c'est la donnée * courante du tableau qui est affectée. * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle * donnée est ajoutée en fin de liste. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
464  * courante du tableau qui est affectée.
465  * Dans le cas d'un paramètre de type ParamMultihit, une nouvelle
466  * donnée est ajoutée en fin de liste.
467  * Le type en retour est une référence sur l'instance Data associée au
468  * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * \param par_name nom du paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const string &par_name, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
469  * en retour (par référence) ne doit pas être modifiée directement.
470  * \param par_name nom du paramètre
471  * \param val valeur à affecter (Data ou type de base)
472  */
473 template < class T > const Data & GanilRun::SetParam(
474  const string &par_name,
475  const T &val )
476 {
477  u_int num = event.GetParamIndex(par_name);
478  if (num < event.GetSize())
479  return (SetParam(num,val));
480  else
481  {
482  GLogWarning ( "GetParam(): no parameter " + par_name);
483  return (bad_data);
484  }
485 }
486 
487 /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur
488  * à partir d'une valeur donnée par un type de base ou une instance
489  * de type Data.
490  * Le type en retour est une référence sur l'instance Data associée au
491  * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param num numéro de paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam( const u_int num, const u_int index, const T &val ) { if (num >= param_list.GetSize()) { return (EventManager::SetParam(num,index,val)); } else { GLogWarning ( "SetParam(): Raw parameter " + event[num].Name() + " not affectable"); return (bad_data); } } /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur * à partir d'une valeur donnée par un type de base ou une instance * de type Data. * Le type en retour est une référence sur l'instance Data associée au * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
492  * en retour (par référence) ne doit pas être modifiée directement.
493  * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne
494  * doit être appelée que pour modifier une donnée déjà dans la liste.
495  * Pour ajouter une nouvelle donnée à la liste il faut appeler la
496  * méthode sans spécification d'index.
497  * \param num numéro de paramètre
498  * \param index index de la valeur à affecter dans le paramètre
499  * \param val valeur à affecter (Data ou type de base)
500  */
501 template < class T > const Data & GanilRun::SetParam(
502  const u_int num,
503  const u_int index,
504  const T &val )
505 {
506  if (num >= param_list.GetSize())
507  {
508  return (EventManager::SetParam(num,index,val));
509  }
510  else
511  {
512  GLogWarning ( "SetParam(): Raw parameter "
513  + event[num].Name() + " not affectable");
514  return (bad_data);
515  }
516 }
517 
518 /*! Méthode patron qui sert à l'affectation d'un paramètre utilisateur
519  * à partir d'une valeur donnée par un type de base ou une instance
520  * de type Data.
521  * Le type en retour est une référence sur l'instance Data associée au
522  * paramètre (après affectation), avec le qualificatif const car la donnée * en retour (par référence) ne doit pas être modifiée directement. * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne * doit être appelée que pour modifier une donnée déjà dans la liste. * Pour ajouter une nouvelle donnée à la liste il faut appeler la * méthode sans spécification d'index. * \param par_name nom du paramètre * \param index index de la valeur à affecter dans le paramètre * \param val valeur à affecter (Data ou type de base) */ template < class T > const Data & GanilRun::SetParam ( const string &par_name, const u_int index, const T &val ) { u_int num = event.GetParamIndex(par_name); if (num < event.GetSize()) return (SetParam(num,index,val)); else { GLogWarning ( "GetParam(): no parameter " + par_name); return (bad_data); } } //====================================================================== // FONCTIONS UTILISATEUR SUPPLEMENTAIRES //====================================================================== /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer. * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
523  * en retour (par référence) ne doit pas être modifiée directement.
524  * Dans le cas d'un paramètre de type ParamMultihit, cette méthode ne
525  * doit être appelée que pour modifier une donnée déjà dans la liste.
526  * Pour ajouter une nouvelle donnée à la liste il faut appeler la
527  * méthode sans spécification d'index.
528  * \param par_name nom du paramètre
529  * \param index index de la valeur à affecter dans le paramètre
530  * \param val valeur à affecter (Data ou type de base)
531  */
532 template < class T > const Data & GanilRun::SetParam (
533  const string &par_name,
534  const u_int index,
535  const T &val )
536 {
537  u_int num = event.GetParamIndex(par_name);
538  if (num < event.GetSize())
539  return (SetParam(num,index,val));
540  else
541  {
542  GLogWarning ( "GetParam(): no parameter " + par_name);
543  return (bad_data);
544  }
545 }
546 
547 
548 //======================================================================
549 // FONCTIONS UTILISATEUR SUPPLEMENTAIRES
550 //======================================================================
551 
552 /*! Fonction utilisateur par défaut appelée après la lecture d'un buffer.
553  * Cette fonction est appelée chaque fois qu'un buffer est lu, après * l'initialisation. */ inline int GanilRun::UserBuffer ( ) { return (0); } /*! Fonction utilisateur par défaut de traitement des buffers d'échelles. */ inline int GanilRun::UserScaler ( ) { return (0); } //====================================================================== #endif
554  * l'initialisation.
555  */
556 inline int GanilRun::UserBuffer ( )
557  { return (0); }
558 
559 /*! Fonction utilisateur par défaut de traitement des buffers d'échelles.
560  */
561 inline int GanilRun::UserScaler ( )
562  { return (0); }
563 
564 
565 //======================================================================
566 #endif
u_int GetScalerLabel(const u_int n) const
Definition: GanilRun.hh:305
void DumpGanilEvent(const bool all=false) const
Definition: GanilRun.hh:376
u_int event_number
Nombre d&#39;événements dans le fichier.
Definition: GanilEndrunInfo.hh:33
u_int GetRunNumber() const
Definition: GanilRun.hh:262
Definition: GanilRun.hh:39
virtual int CreateEvent()
Definition: GanilRun.cpp:701
virtual int Close()
Definition: GanilRun.cpp:177
u_int GetNumber() const
Definition: GanilScaler.hh:116
void DumpUserEvent(const bool all=false) const
Definition: GanilRun.hh:402
ClassDef(GanilRun, 0)
DataBad & bad_data
Definition: DataBad.cpp:51
virtual void StatInfo() const
Definition: GanilRun.hh:292
GObject(GanilRun)
virtual int Open()=0
u_int GetScalerValue(const u_int n) const
Definition: GanilRun.hh:311
u_int GetScalerAcqStatus() const
Definition: GanilRun.hh:334
const Data & SetParam(const u_int num, const T &val)
Definition: GanilRun.hh:444
u_int GetTotalBufferCount() const
Definition: GanilRun.hh:277
bool IsMSB() const
Definition: GanilRun.hh:359
virtual void EndrunInfo()
Definition: GanilEndrunInfo.hh:73
Definition: GanilInfo.hh:36
u_int run_number
Numéro du run.
Definition: GanilEventInfo.hh:35
bool EndOfRun() const
Definition: GanilRun.hh:364
virtual int Open()
Definition: GanilRun.cpp:86
u_int GetScalerFreq(const u_int n) const
Definition: GanilRun.hh:317
void SetOptionWarnEmptyBuffer(const bool b=true)
Definition: GanilRun.hh:241
virtual int ReadEvent()
Definition: GanilRun.cpp:782
virtual int UserScaler()
Definition: GanilRun.hh:561
virtual ~GanilRun()
Definition: GanilRun.cpp:44
virtual void DumpEvent(const bool all=false, const u_int pmin=0, const u_int pmax=0) const
Definition: EventManager.hh:1124
GanilBuffer buffer_data
données du buffer courant de fichier
Definition: GanilRun.hh:81
u_int GetUserParamNumber() const
Definition: GanilRun.hh:349
u_int buffer_count
compteur des buffers
Definition: GanilRun.hh:82
u_int format
format binaire
Definition: GanilRun.hh:72
GanilRun()
Definition: GanilRun.cpp:22
virtual void FileClose()
Definition: GanilRun.cpp:203
bool SetGanilParamMultihit(const string &par_name)
Definition: GanilRun.cpp:575
GListT< GanilParam > param_list
Liste des paramètres GANIL.
Definition: GanilParamInfo.hh:34
Definition: RunBase.hh:90
virtual int RunInit()
Definition: GanilRun.cpp:217
bool opt_warn_empty_buffer
alerte en cas de buffer vide
Definition: GanilRun.hh:75
virtual int FileOpen()
Definition: GanilRun.cpp:134
virtual int UserBuffer()
Definition: GanilRun.hh:556
Definition: Param.hh:83
FILE * file_ptr
pointeur sur le fichier de runs
Definition: GanilRun.hh:78
Definition: GanilBuffer.hh:26
u_int GetScalerNumber() const
Definition: GanilRun.hh:299
virtual bool IsOpen()
Definition: GanilRun.cpp:169
u_int GetGanilParamNumber() const
Definition: GanilRun.hh:343
u_int GetLabel(const u_int n) const
Definition: GanilScaler.hh:122
virtual int ReadBuffer()
Definition: GanilRun.cpp:754
GanilScaler scaler_data
information des buffers d&#39;échelles
Definition: GanilRun.hh:85
bool IsLSB() const
Definition: GanilRun.hh:354
const Data & SetParam(const u_int num, const T &val)
Definition: EventManager.hh:806
u_int GetTics(const u_int n) const
Definition: GanilScaler.hh:140
int AddParam(const Param &par)
Definition: GanilRun.cpp:737
virtual void BufferReset()
Definition: GanilRun.cpp:280
u_int GetAcqStatus() const
Definition: GanilScaler.hh:151
GanilStatus
Bits d&#39;état des runs GANIL.
Definition: GanilRun.hh:51
u_int GetBufferCount() const
Definition: GanilRun.hh:272
virtual int ReadHeaders()
Definition: GanilRun.cpp:299
Definition: GanilScaler.hh:54
string file_name
nom effectif du fichier d&#39;entrée
Definition: RunBase.hh:114
int GetStatus(const u_int n) const
Definition: GanilScaler.hh:146
Definition: Data.hh:153
u_int GetEventNumber() const
Definition: GanilRun.hh:267
bool SetGanilParamArray(const string &par_name, const int dim)
Definition: GanilRun.cpp:635
GanilFormat
Format des données binaires.
Definition: GanilRun.hh:44
u_int total_buffer_count
compteur des buffers
Definition: GanilRun.hh:83
u_int GetValue(const u_int n) const
Definition: GanilScaler.hh:128
u_int GetBufferStat(const u_int t) const
Definition: GanilRun.hh:283
u_int GetFreq(const u_int n) const
Definition: GanilScaler.hh:134
u_int GetScalerTics(const u_int n) const
Definition: GanilRun.hh:323
virtual void Reset()
Definition: GanilRun.cpp:271
int GetScalerStatus(const u_int n) const
Definition: GanilRun.hh:329
Event event
Structure physique de l&#39;événement.
Definition: EventManager.hh:68
u_int GetBufferStat(const u_int t) const
Definition: GanilBuffer.hh:212
u_int status
bits d&#39;état de l&#39;analyse
Definition: GanilRun.hh:71