Analysis  version 7.0 - august 2014
SpectrumFamily.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file SpectrumFamily.hh
3  *
4  * Déclaration des méthodes de la classe SpectrumFamily qui définit
5  * les familles de spectres.
6  */
7 //======================================================================
8 
9 #include "EventCommon.hh"
10 #include "GListT.hh"
11 #include "Spectrum.hh"
12 
13 #ifndef SPECTRUM_FAMILY_HH
14 #define SPECTRUM_FAMILY_HH
15 
16 //======================================================================
17 /*! \class SpectrumFamily
18  *
19  * Cette classe décrit une famille de spectres: la famille est identifiée * par son nom, et elle contient une liste de spectres. * La classe hérite de GListT<Spectrum>, mais la liste n'est pas * propriétaire des spectres (à la différence de la classe * SpectrumFamily qui gère les spectres). */ class SpectrumFamily : protected GListT<Spectrum>, public GNamed { friend class SpectrumFamilyList; //---------------------------------------------------------------------- /*! \object_doc */ GObject(SpectrumFamily); //---------------------------------------------------------------------- protected: public: //---------------------------------------------------------------------- // CONSTRUCTEUR / AFFECTATION / DESTRUCTEUR //---------------------------------------------------------------------- // Constructeur par défaut. SpectrumFamily ( const string &family_name ); // Destructeur virtual ~SpectrumFamily ( ); // Constructeur de recopie. protected: SpectrumFamily ( const SpectrumFamily & ); public: // retourne le nom de la famille //string Name() const; void Start () const; void Stop () const; void Suspend () const; void Reset () const; Int_t SaveHistograms ( const string & file_name ) const; virtual bool AddSpectrum ( Spectrum *spec ); virtual bool RemoveSpectrum ( Spectrum *spec ); // reprend la méthode de GListT virtual bool Remove ( ); // filtres void SetFilter ( Filter *f ) const; void ResetFilter ( ) const; //---------------------------------------------------------------------- // pour ROOT... public: /*! Définition à usage de ROOT... */ ClassDef(SpectrumFamily,0); } ; //====================================================================== // METHODES INLINE //====================================================================== /*! Retourne le nom de la famille. inline string SpectrumFamily::Name() const { return (name); } */ /*! Démarre tous les spectres de la famille.*/ inline void SpectrumFamily::Start ( ) const { for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i) { i->Start(); } } /*! Arrête tous les spectres de la famille.*/ inline void SpectrumFamily::Stop ( ) const { for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i) { i->Start(); } } /*! Suspend tous les spectres de la famille.*/ inline void SpectrumFamily::Suspend ( ) const { for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i) { i->Suspend(); } } /*! Remet à zéro tous les spectres de la famille.*/ inline void SpectrumFamily::Reset ( ) const { for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i) { i->Reset(); } } /*! Applique un filtre à la famille de spectre. Si le pointeur de * filtre est NULL, on retire toutes les conditions de filtre. * \param f pointeur sur le filtre à appliquer */ inline void SpectrumFamily::SetFilter ( Filter *f ) const { if (f == NULL) ResetFilter(); else { for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i) { i->SetFilter(f); } } } /*! Retire les conditions de filtre de la famille de spectre.*/ inline void SpectrumFamily::ResetFilter ( ) const { for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i) { i->ResetFilter(); } } //====================================================================== #endif
20  * par son nom, et elle contient une liste de spectres.
21  * La classe hérite de GListT<Spectrum>, mais la liste n'est pas
22  * propriétaire des spectres (à la différence de la classe
23  * SpectrumFamily qui gère les spectres).
24  */
25 class SpectrumFamily : protected GListT<Spectrum>, public GNamed
26 {
27  friend class SpectrumFamilyList;
28 
29 //----------------------------------------------------------------------
30  /*! \object_doc */
32 //----------------------------------------------------------------------
33 
34  protected:
35 
36  public:
37 
38 //----------------------------------------------------------------------
39 // CONSTRUCTEUR / AFFECTATION / DESTRUCTEUR
40 //----------------------------------------------------------------------
41 
42  // Constructeur par défaut.
43  SpectrumFamily ( const string &family_name );
44 
45  // Destructeur
46  virtual ~SpectrumFamily ( );
47 
48  // Constructeur de recopie.
49  protected:
50  SpectrumFamily ( const SpectrumFamily & );
51 
52  public:
53 
54  // retourne le nom de la famille
55  //string Name() const;
56 
57  void Start () const;
58  void Stop () const;
59  void Suspend () const;
60  void Reset () const;
61 
62  Int_t SaveHistograms ( const string & file_name ) const;
63 
64  virtual bool AddSpectrum ( Spectrum *spec );
65  virtual bool RemoveSpectrum ( Spectrum *spec );
66 
67  // reprend la méthode de GListT
68  virtual bool Remove ( );
69 
70  // filtres
71  void SetFilter ( Filter *f ) const;
72  void ResetFilter ( ) const;
73 
74 
75 //----------------------------------------------------------------------
76 // pour ROOT...
77  public:
78  /*! Définition à usage de ROOT... */
80 } ;
81 
82 //======================================================================
83 // METHODES INLINE
84 //======================================================================
85 
86 /*! Retourne le nom de la famille.
87 inline string SpectrumFamily::Name() const
88  { return (name); }
89 */
90 
91 /*! Démarre tous les spectres de la famille.*/
92 inline void SpectrumFamily::Start ( ) const
93 {
94  for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i)
95  {
96  i->Start();
97  }
98 }
99 
100 /*! Arrête tous les spectres de la famille.*/
101 inline void SpectrumFamily::Stop ( ) const
102 {
103  for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i)
104  {
105  i->Start();
106  }
107 }
108 
109 /*! Suspend tous les spectres de la famille.*/
110 inline void SpectrumFamily::Suspend ( ) const
111 {
112  for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i)
113  {
114  i->Suspend();
115  }
116 }
117 
118 /*! Remet à zéro tous les spectres de la famille.*/
119 inline void SpectrumFamily::Reset ( ) const
120 {
121  for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i)
122  {
123  i->Reset();
124  }
125 }
126 
127 /*! Applique un filtre à la famille de spectre. Si le pointeur de
128  * filtre est NULL, on retire toutes les conditions de filtre.
129  * \param f pointeur sur le filtre à appliquer
130  */
131 inline void SpectrumFamily::SetFilter ( Filter *f ) const
132 {
133  if (f == NULL)
134  ResetFilter();
135  else
136  {
137  for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i)
138  {
139  i->SetFilter(f);
140  }
141  }
142 }
143 
144 /*! Retire les conditions de filtre de la famille de spectre.*/
145 inline void SpectrumFamily::ResetFilter ( ) const
146 {
147  for (GListIterT<Spectrum> i = Begin(); i != Null(); ++i)
148  {
149  i->ResetFilter();
150  }
151 }
152 
153 //======================================================================
154 
155 #endif
void Suspend() const
Definition: SpectrumFamily.hh:110
ClassDef(SpectrumFamily, 0)
Definition: SpectrumFamily.hh:25
Int_t SaveHistograms(const string &file_name) const
Definition: SpectrumFamily.cpp:52
virtual bool Remove()
Definition: SpectrumFamily.cpp:134
Definition: Filter.hh:50
Definition: Spectrum.hh:222
Definition: SpectrumFamilyList.hh:28
void Start() const
Definition: SpectrumFamily.hh:92
void Stop() const
Definition: SpectrumFamily.hh:101
virtual bool RemoveSpectrum(Spectrum *spec)
Definition: SpectrumFamily.cpp:111
virtual ~SpectrumFamily()
Definition: SpectrumFamily.cpp:40
void Reset() const
Definition: SpectrumFamily.hh:119
GObject(SpectrumFamily)
SpectrumFamily(const string &family_name)
Definition: SpectrumFamily.cpp:19
virtual bool AddSpectrum(Spectrum *spec)
Definition: SpectrumFamily.cpp:86
void ResetFilter() const
Definition: SpectrumFamily.hh:145
void SetFilter(Filter *f) const
Definition: SpectrumFamily.hh:131