Analysis  version 7.0 - august 2014
SpecDiv.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file SpecDiv.hh
3  *
4  * Déclaration de la classe des spectres obtenus par le rapport
5  * de 2 spectres opérandes.
6  */
7 //======================================================================
8 
9 
10 #ifndef SPEC_DIV_HH
11 #define SPEC_DIV_HH
12 
13 #include "SpecOper2.hh"
14 
15 
16 //======================================================================
17 /*! \class SpecDiv
18  *
19  * Classe des spectres obtenus par le rapport
20  * de 2 spectres opérandes.
21  * Ce type de spectre utilise 3 coefficients:
22  * - S' = a * S0 / S1 + b si S1 est différent de 0
23  * - S' = c si S0 ~ 0 (voir SpecOper::epsilon)
24  */
25 
26 class SpecDiv : public SpecOper2
27 {
28 //----------------------------------------------------------------------
29  /*! \object_doc */
31 //----------------------------------------------------------------------
32 
33  protected:
34 
35  public:
36 
37 //----------------------------------------------------------------------
38 // CONSTRUCTEUR / AFFECTATION / DESTRUCTEUR
39 //----------------------------------------------------------------------
40 
41  // Constructeur
42  SpecDiv ( const string & spec_name,
43  Spectrum * sp0,
44  Spectrum * sp1,
45  const Double_t c0 = 1.,
46  const Double_t c1 = 0.,
47  const Double_t c2 = 0. );
48 
49  // Constructeur de recopie
50  SpecDiv ( const SpecDiv & original );
51 
52  // Destructeur
53  virtual ~SpecDiv ();
54 
55 //----------------------------------------------------------------------
56 
57  public:
58  // Fonction de mise à jour du spectre (calculés)
59  virtual void Update ( );
60 
61  // Définition d'un spectre du type de la classe
62  static Spectrum * NewSpectrumDef ( const string & sp_name, const string & def_str, const EventManager * evt_mgr, int & error );
63 
64  // Retourne l'identificateur du type de spectre.
65  u_int TypeId ( ) const;
66 
67  // Retourne le nom du type de spectre.
68  string Type ( ) const;
69 
70 //----------------------------------------------------------------------
71 // pour ROOT...
72  public:
73  /*! Définition à usage de ROOT... */
74  ClassDef(SpecDiv,0);
75 } ;
76 
77 
78 //======================================================================
79 // FONCTIONS INLINE
80 //======================================================================
81 
82 
83 /*! Retourne l'identificateur du type de spectre.
84  */
85 inline u_int SpecDiv::TypeId ( ) const
86  { return (spectrumTypeDiv); }
87 
88 /*! Retourne le nom du type de spectre.
89  */
90 inline string SpecDiv::Type ( ) const
91  { return (SPECTRUM_TYPE_TXT_DIV); }
92 
93 //----------------------------------------------------------------------
94 
95 
96 //======================================================================
97 #endif
Definition: SpecOper2.hh:19
virtual void Update()
Definition: SpecDiv.cpp:92
SpecDiv(const string &spec_name, Spectrum *sp0, Spectrum *sp1, const Double_t c0=1., const Double_t c1=0., const Double_t c2=0.)
Definition: SpecDiv.cpp:27
string Type() const
Definition: SpecDiv.hh:90
Definition: SpecDiv.hh:26
Definition: Spectrum.hh:222
virtual ~SpecDiv()
Definition: SpecDiv.cpp:83
static Spectrum * NewSpectrumDef(const string &sp_name, const string &def_str, const EventManager *evt_mgr, int &error)
Definition: SpecDiv.cpp:158
u_int TypeId() const
Definition: SpecDiv.hh:85
#define SPECTRUM_TYPE_TXT_DIV
Nom du type de spectre: division de spectres.
Definition: Spectrum.hh:115
GObject(SpecDiv)
ClassDef(SpecDiv, 0)
Definition: EventManager.hh:59