Analysis  version 7.0 - august 2014
SpecCalc.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file SpecCalc.hh
3  *
4  * Déclaration des fonctions de la classe SpecCalc qui décrit les
5  * spectres (histogrammes) calculés, c'est à dire n'opérant pas
6  * directement sur les paramètres.
7  */
8 //======================================================================
9 
10 #ifndef SPEC_CALC_HH
11 #define SPEC_CALC_HH
12 
13 #include "Spec3Dim.hh"
14 
15 
16 //======================================================================
17 /*! \class SpecCalc
18  *
19  * Classe de base pour les spectres calculés, c'est à dire n'opérant
20  * pas directement sur les paramètres: il s'agit des spectres externes,
21  * des spectres utilisateur ou des spectres opération sur d'autres
22  * spectres.
23  *
24  * Pour ces spectres, l'incrémentation et le filtrage sont inopérants.
25  */
26 class SpecCalc : public Spec3Dim
27 {
28 //----------------------------------------------------------------------
29  /*! \object_doc */
31 //----------------------------------------------------------------------
32 
33  protected:
34  u_int dim; ///< Dimension de l'histogramme
35 
36  public:
37 
38 //----------------------------------------------------------------------
39 // CONSTRUCTEUR / AFFECTATION / DESTRUCTEUR
40 //----------------------------------------------------------------------
41 
42  // Constructeur
43  SpecCalc ( const string & spec_name );
44  SpecCalc ( const string & spec_name,
45  const u_int nx, const double x1, const double x2 );
46  SpecCalc ( const string & spec_name,
47  const u_int nx, const double x1, const double x2,
48  const u_int ny, const double y1, const double y2 );
49  SpecCalc ( const string & spec_name,
50  const u_int nx, const double x1, const double x2,
51  const u_int ny, const double y1, const double y2,
52  const u_int nz, const double z1, const double z2 );
53 
54  // Constructeur de recopie
55  SpecCalc ( const SpecCalc & original );
56 
57  // Destructeur
58  virtual ~SpecCalc ();
59 
60 //----------------------------------------------------------------------
61 
62  protected:
63 
64  // pas d'incrémentation auto du spectre
65  virtual void IncrementSpectrum ( );
66 
67  public:
68 
69  //----------------------------------------------------------
70  // Fonction modifiées de la classe de base: Spectrum
71 
72  virtual void Increment ( );
73  virtual void SetFilter ( const Filter *f ) const;
74 
75  // Functions redefined from Spectrum to inhibit the effect
76  virtual void Start ( );
77  virtual void Stop ( );
78  virtual void Suspend ( );
79 
80  //----------------------------------------------------------
81 
82  // retourne la dimension du spectre.
83  virtual u_int Dimension ( ) const;
84 
85  // renvoit le nombre de paramètres associés au spectre.
86  virtual Int_t GetParamNumber ( ) const;
87 
88 
89 //----------------------------------------------------------------------
90 // pour ROOT...
91  public:
92  /*! Définition à usage de ROOT... */
93  ClassDef(SpecCalc,0);
94 } ;
95 
96 
97 //======================================================================
98 // FONCTIONS INLINE
99 //======================================================================
100 
101 /*! Incrémentation automatique du spectre: rien à faire.*/
103  {
104  // on retire le bit indiquant que le spectre a été calculé status = status - (status & spectrumUpdated); } /*! Fonction générique pour l'incrémentation d'un spectre: cette fonction * ne fait rien pour les spectres calculés. */ inline void SpecCalc::Increment ( ) { // on retire le bit indiquant que le spectre a été calculé status = status - (status & spectrumUpdated); } /*! Sélection d'un filtre pour le spectre: inopérant pour spectres calculés. * \param f pointeur sur le filtre */ inline void SpecCalc::SetFilter ( const Filter *f ) const { } /*! Démarre le spectre (autorise l'incrémentation): inopérant pour un * spectre calculé. */ inline void SpecCalc::Start() { } /*! Stoppe le spectre (interdit l'incrémentation): inopérant pour un * spectre calculé. */ inline void SpecCalc::Stop() { } /*! Stoppe le spectre (interdit l'incrémentation pour l'événement en cours): * inopérant pour un spectre calculé. */ inline void SpecCalc::Suspend() { } /*! Fonction qui retourne la dimension du spectre. */ inline u_int SpecCalc::Dimension ( ) const { return (dim); } /*! Fonction qui renvoit le nombre de paramètres associés au spectre (0 * pour ce type de spectres). */ inline Int_t SpecCalc::GetParamNumber ( ) const { return (0); } //====================================================================== #endif
105  status = status - (status & spectrumUpdated);
106  }
107 
108 /*! Fonction générique pour l'incrémentation d'un spectre: cette fonction
109  * ne fait rien pour les spectres calculés.
110  */
111 inline void SpecCalc::Increment ( )
112  {
113  // on retire le bit indiquant que le spectre a été calculé status = status - (status & spectrumUpdated); } /*! Sélection d'un filtre pour le spectre: inopérant pour spectres calculés. * \param f pointeur sur le filtre */ inline void SpecCalc::SetFilter ( const Filter *f ) const { } /*! Démarre le spectre (autorise l'incrémentation): inopérant pour un * spectre calculé. */ inline void SpecCalc::Start() { } /*! Stoppe le spectre (interdit l'incrémentation): inopérant pour un * spectre calculé. */ inline void SpecCalc::Stop() { } /*! Stoppe le spectre (interdit l'incrémentation pour l'événement en cours): * inopérant pour un spectre calculé. */ inline void SpecCalc::Suspend() { } /*! Fonction qui retourne la dimension du spectre. */ inline u_int SpecCalc::Dimension ( ) const { return (dim); } /*! Fonction qui renvoit le nombre de paramètres associés au spectre (0 * pour ce type de spectres). */ inline Int_t SpecCalc::GetParamNumber ( ) const { return (0); } //====================================================================== #endif
114  status = status - (status & spectrumUpdated);
115  }
116 
117 /*! Sélection d'un filtre pour le spectre: inopérant pour spectres calculés.
118  * \param f pointeur sur le filtre
119  */
120 inline void SpecCalc::SetFilter ( const Filter *f ) const
121  { }
122 
123 /*! Démarre le spectre (autorise l'incrémentation): inopérant pour un
124  * spectre calculé. */ inline void SpecCalc::Start() { } /*! Stoppe le spectre (interdit l'incrémentation): inopérant pour un * spectre calculé. */ inline void SpecCalc::Stop() { } /*! Stoppe le spectre (interdit l'incrémentation pour l'événement en cours): * inopérant pour un spectre calculé. */ inline void SpecCalc::Suspend() { } /*! Fonction qui retourne la dimension du spectre. */ inline u_int SpecCalc::Dimension ( ) const { return (dim); } /*! Fonction qui renvoit le nombre de paramètres associés au spectre (0 * pour ce type de spectres). */ inline Int_t SpecCalc::GetParamNumber ( ) const { return (0); } //====================================================================== #endif
125  */
126 inline void SpecCalc::Start()
127  { }
128 
129 /*! Stoppe le spectre (interdit l'incrémentation): inopérant pour un
130  * spectre calculé. */ inline void SpecCalc::Stop() { } /*! Stoppe le spectre (interdit l'incrémentation pour l'événement en cours): * inopérant pour un spectre calculé. */ inline void SpecCalc::Suspend() { } /*! Fonction qui retourne la dimension du spectre. */ inline u_int SpecCalc::Dimension ( ) const { return (dim); } /*! Fonction qui renvoit le nombre de paramètres associés au spectre (0 * pour ce type de spectres). */ inline Int_t SpecCalc::GetParamNumber ( ) const { return (0); } //====================================================================== #endif
131  */
132 inline void SpecCalc::Stop()
133  { }
134 
135 /*! Stoppe le spectre (interdit l'incrémentation pour l'événement en cours):
136  * inopérant pour un spectre calculé. */ inline void SpecCalc::Suspend() { } /*! Fonction qui retourne la dimension du spectre. */ inline u_int SpecCalc::Dimension ( ) const { return (dim); } /*! Fonction qui renvoit le nombre de paramètres associés au spectre (0 * pour ce type de spectres). */ inline Int_t SpecCalc::GetParamNumber ( ) const { return (0); } //====================================================================== #endif
137  */
138 inline void SpecCalc::Suspend()
139  { }
140 
141 /*! Fonction qui retourne la dimension du spectre.
142  */
143 inline u_int SpecCalc::Dimension ( ) const
144  { return (dim); }
145 
146 /*! Fonction qui renvoit le nombre de paramètres associés au spectre (0
147  * pour ce type de spectres).
148  */
149 inline Int_t SpecCalc::GetParamNumber ( ) const
150  { return (0); }
151 
152 
153 //======================================================================
154 #endif
virtual void Start()
Definition: SpecCalc.hh:126
virtual void SetFilter(const Filter *f) const
Definition: SpecCalc.hh:120
virtual void Suspend()
Definition: SpecCalc.hh:138
Definition: Spec3Dim.hh:23
ClassDef(SpecCalc, 0)
virtual u_int Dimension() const
Definition: SpecCalc.hh:143
Definition: Filter.hh:50
SpecCalc(const string &spec_name)
Definition: SpecCalc.cpp:21
virtual void Stop()
Definition: SpecCalc.hh:132
u_int status
Mot d&#39;état du spectre.
Definition: Spectrum.hh:241
virtual void IncrementSpectrum()
Definition: SpecCalc.hh:102
Definition: SpecCalc.hh:26
virtual void Increment()
Definition: SpecCalc.hh:111
u_int dim
Dimension de l&#39;histogramme.
Definition: SpecCalc.hh:34
GObjectV(SpecCalc)
virtual Int_t GetParamNumber() const
Definition: SpecCalc.hh:149
virtual ~SpecCalc()
Definition: SpecCalc.cpp:88