Analysis  version 7.0 - august 2014
GanilScaler.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GanilScaler.hh
3  *
4  * Déclaration des méthodes de la classe GanilScaler qui reçoit les
5  * informations des échelles de l'acquisition GANIL.
6  */
7 //======================================================================
8 
9 #ifndef GANIL_SCALER_HH
10 #define GANIL_SCALER_HH
11 
12 #include "GanilCommon.hh"
13 #include "GanilBuffer.hh"
14 
15 
16 class GanilRun;
17 
18 //======================================================================
19 /*! \class GanilScalerData
20  *
21  * Classe des données individuelles des échelles.
22  */
24 {
25 //----------------------------------------------------------------------
26  /*! \object_doc */
28 //----------------------------------------------------------------------
29 
30  public:
31  u_int label; ///< numéro d'échelle dans l'acquisition
32  int status; ///< état: 1=marche, 0=arrêt, -1=offline
33  u_int value; ///< valeur de la voie
34  u_int freq; ///< fréquence de mise à jour
35  u_int tics; ///< délai en 10*ms
36 
37  // Constructeur, destructeur
38  GanilScalerData ( );
39  GanilScalerData ( const GanilScalerData & originale );
40  virtual ~GanilScalerData ( );
41 
42  // opérateur d'affectation
43  GanilScalerData & operator = ( const GanilScalerData &original );
44 
45 };
46 
47 
48 //======================================================================
49 /*! \class GanilScaler
50  *
51  * Classe qui reçoit l'information des buffers d'échelles de
52  * l'acquisition GANIL.
53  */
55 {
56  friend class GanilRun;
57 
58 //----------------------------------------------------------------------
59  /*! \object_doc */
61 //----------------------------------------------------------------------
62 
63  protected:
64  u_int num; ///< nombre d'échelles
65  u_int acq_status; ///< état de l'acquisition
66 #ifndef __MAKECINT__
67  GanilScalerData * sc_data; ///< table des données des échelles
68 #endif
69 
70  public:
71 
72  // constructeur
73  GanilScaler ( );
74 
75  // constructeur de recopie
76  GanilScaler ( const GanilScaler & );
77 
78  // opérateur d'affectation
79  virtual GanilScaler & operator = ( const GanilScaler &original );
80 
81  // destructeur
82  virtual ~GanilScaler ( );
83 
84 //----------------------------------------------------------------------
85 
86  protected:
87 
88  virtual void Reset ( );
89  void SetNumber ( const u_int n );
90  virtual void SetScalers ( GanilBuffer &buffer );
91 
92 //----------------------------------------------------------------------
93  public:
94  u_int GetNumber ( ) const;
95  u_int GetLabel ( const u_int n ) const;
96  u_int GetValue ( const u_int n ) const;
97  u_int GetFreq ( const u_int n ) const;
98  u_int GetTics ( const u_int n ) const;
99  int GetStatus ( const u_int n ) const;
100 
101  u_int GetAcqStatus ( ) const;
102 
103 //----------------------------------------------------------------------
104 // pour ROOT...
105  public:
106  /*! Définition à usage de ROOT... */
108 } ;
109 
110 
111 //======================================================================
112 // METHODES INLINE
113 //======================================================================
114 
115 /*! Retourne le nombre de voies d'échelles.*/
116 inline u_int GanilScaler::GetNumber ( ) const
117  { return (num); }
118 
119 /*! Retourne le label (numéro) d'une échelle, et 0xFFFFFFFF si elle n'est pas définie.
120  * \param n numéro de l'échelle
121  */
122 inline u_int GanilScaler::GetLabel ( const u_int n ) const
123  { return ((n < num) ? sc_data[n].label : (u_int) (-1)); }
124 
125 /*! Retourne la valeur d'une échelle, et 0xFFFFFFFF si elle n'est pas définie.
126  * \param n numéro de l'échelle
127  */
128 inline u_int GanilScaler::GetValue ( const u_int n ) const
129  { return ((n < num) ? sc_data[n].value : (u_int) (-1)); }
130 
131 /*! Retourne la fréquence d'une échelle, et 0xFFFFFFFF si elle n'est pas définie.
132  * \param n numéro de l'échelle
133  */
134 inline u_int GanilScaler::GetFreq ( const u_int n ) const
135  { return ((n < num) ? sc_data[n].freq : (u_int) (-1)); }
136 
137 /*! Retourne le délai (x10ms) d'une échelle, et 0xFFFFFFFF si elle n'est pas définie.
138  * \param n numéro de l'échelle
139  */
140 inline u_int GanilScaler::GetTics ( const u_int n ) const
141  { return ((n < num) ? sc_data[n].tics : (u_int) (-1)); }
142 
143 /*! Retourne l'état d'une échelle: 1 = marche, 0 = arrêt, -1 = offline, -2 = non définie.
144  * \param n numéro de l'échelle
145  */
146 inline int GanilScaler::GetStatus ( const u_int n ) const
147  { return ((n < num) ? sc_data[n].status : -2); }
148 
149 
150 /*! Retourne l'état de l'acquisition: 1 = marche, 0 = arrêt.*/
151 inline u_int GanilScaler::GetAcqStatus ( ) const
152  { return (acq_status); }
153 
154 
155 
156 //======================================================================
157 #endif
virtual void Reset()
Definition: GanilScaler.cpp:107
virtual GanilScaler & operator=(const GanilScaler &original)
Definition: GanilScaler.cpp:86
GanilScalerData * sc_data
table des données des échelles
Definition: GanilScaler.hh:67
Definition: GanilRun.hh:39
Definition: GanilScaler.hh:23
u_int GetNumber() const
Definition: GanilScaler.hh:116
virtual ~GanilScalerData()
Definition: GanilScaler.cpp:54
virtual void SetScalers(GanilBuffer &buffer)
Definition: GanilScaler.cpp:134
int status
état: 1=marche, 0=arrêt, -1=offline
Definition: GanilScaler.hh:32
u_int freq
fréquence de mise à jour
Definition: GanilScaler.hh:34
GObject(GanilScalerData)
u_int value
valeur de la voie
Definition: GanilScaler.hh:33
GanilScalerData & operator=(const GanilScalerData &original)
Definition: GanilScaler.cpp:42
virtual ~GanilScaler()
Definition: GanilScaler.cpp:98
u_int label
numéro d&#39;échelle dans l&#39;acquisition
Definition: GanilScaler.hh:31
Definition: GanilBuffer.hh:26
GanilScalerData()
Definition: GanilScaler.cpp:18
u_int GetLabel(const u_int n) const
Definition: GanilScaler.hh:122
GObject(GanilScaler)
u_int GetTics(const u_int n) const
Definition: GanilScaler.hh:140
u_int GetAcqStatus() const
Definition: GanilScaler.hh:151
u_int acq_status
état de l&#39;acquisition
Definition: GanilScaler.hh:65
Definition: GanilScaler.hh:54
u_int num
nombre d&#39;échelles
Definition: GanilScaler.hh:64
GanilScaler()
Definition: GanilScaler.cpp:65
ClassDef(GanilScaler, 0)
int GetStatus(const u_int n) const
Definition: GanilScaler.hh:146
u_int GetValue(const u_int n) const
Definition: GanilScaler.hh:128
u_int GetFreq(const u_int n) const
Definition: GanilScaler.hh:134
u_int tics
délai en 10*ms
Definition: GanilScaler.hh:35
void SetNumber(const u_int n)
Definition: GanilScaler.cpp:118
u_int status
bits d&#39;état de l&#39;analyse
Definition: GanilRun.hh:71