Analysis  version 7.0 - august 2014
SpectrumFamilyList.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file SpectrumFamilyList.hh
3  *
4  * Déclaration des méthodes de la classe SpectrumFamilyList qui définit
5  * une liste de familles de spectres.
6  */
7 //======================================================================
8 
9 #include "EventCommon.hh"
10 #include "GNamedListT.hh"
11 #include "SpectrumFamily.hh"
12 
13 #ifndef SPECTRUM_FAMILY_LIST_HH
14 #define SPECTRUM_FAMILY_LIST_HH
15 
16 class SpectrumList;
17 
18 //======================================================================
19 /*! \class SpectrumFamilyList
20  *
21  * Cette classe décrit un ensemble de familles de spectres.
22  * Cette classe gère les familles: elle recopie les familles ajoutées
23  * et les détruits lorsqu'elles sont retirées.
24  *
25  * Une famille est créée lorsqu'un premier spectre y est mis.
26  * Elle est retiré lorsqu'elle ne contient plus de spectre.
27  */
28 class SpectrumFamilyList : public GNamedListT<SpectrumFamily>
29 {
30  friend class SpectrumList;
31 
32 //----------------------------------------------------------------------
33  /*! \object_doc */
35 //----------------------------------------------------------------------
36 
37  protected:
38  const SpectrumList *manager; ///< Gestionnaire auquel est associée la liste de familles
39 
40  public:
41 
42 //----------------------------------------------------------------------
43 // CONSTRUCTEUR / AFFECTATION / DESTRUCTEUR
44 //----------------------------------------------------------------------
45 
46  // Constructeur par défaut.
47  SpectrumFamilyList ( const SpectrumList * spec_manager = NULL );
48 
49  // Destructeur
50  virtual ~SpectrumFamilyList ( );
51 
52  // Constructeur de recopie.
53  protected:
55 
56 
57  protected:
58  // Recherche d'une famille (protégé)
59  SpectrumFamily * __FindFamily ( const string &family_name ) const;
60 
61  public:
62  // Recherche d'une famille
63  const SpectrumFamily *FindFamily ( const string &family_name ) const;
64 
65  // Place un spectre dans une famille
66  bool SetSpectrumFamily ( Spectrum * spec, const string & family_name );
67 
68  // Retire un spectre d'une famille
69  bool ResetSpectrumFamily ( Spectrum *spec );
70 
71 
72  // écriture de la liste des familles
73  void Print () const;
74  void Print ( const string & file_name ) const;
75  void Print ( ostream &os ) const;
76 
77  // écriture d'une famille de la liste
78  void PrintFamily ( const string & family_name ) const;
79  void PrintFamily ( const string & file_name, const string & family_name ) const;
80  void PrintFamily ( ostream &os, const string & family_name ) const;
81 
82  // état de sélection des spectres d'une famille
83  virtual bool SetSpectraSelection ( const string & family_name, const bool b = true ) const;
84  virtual bool SetSpectraSaveSelection ( const string & family_name, const bool b = true ) const;
85  virtual bool SetSpectraDeleteSelection ( const string & family_name, const bool b = true ) const;
86 
87 //----------------------------------------------------------------------
88 // pour ROOT...
89  public:
90  /*! Définition à usage de ROOT... */
92 } ;
93 
94 
95 //======================================================================
96 // METHODES INLINE
97 //======================================================================
98 
99 /*! Ecriture des familles de spectres sur la sortie standard.
100  */
101 inline void SpectrumFamilyList::Print () const
102  { Print (cout); }
103 
104 /*! Ecriture d'une famille de spectres sur la sortie standard.
105  * \param family_name nom de la famille ("" pour toutes les familles)
106  */
107 inline void SpectrumFamilyList::PrintFamily ( const string & family_name ) const
108  { PrintFamily (cout,family_name); }
109 
110 //======================================================================
111 
112 #endif
SpectrumFamily * __FindFamily(const string &family_name) const
Definition: SpectrumFamilyList.cpp:53
Definition: SpectrumFamily.hh:25
const SpectrumList * manager
Gestionnaire auquel est associée la liste de familles.
Definition: SpectrumFamilyList.hh:38
bool ResetSpectrumFamily(Spectrum *spec)
Definition: SpectrumFamilyList.cpp:117
void Print() const
Definition: SpectrumFamilyList.hh:101
GObject(SpectrumFamilyList)
virtual ~SpectrumFamilyList()
Definition: SpectrumFamilyList.cpp:37
Definition: Spectrum.hh:222
virtual bool SetSpectraSelection(const string &family_name, const bool b=true) const
Definition: SpectrumFamilyList.cpp:248
Definition: SpectrumFamilyList.hh:28
virtual bool SetSpectraDeleteSelection(const string &family_name, const bool b=true) const
Definition: SpectrumFamilyList.cpp:292
const SpectrumFamily * FindFamily(const string &family_name) const
Definition: SpectrumFamilyList.cpp:74
bool SetSpectrumFamily(Spectrum *spec, const string &family_name)
Definition: SpectrumFamilyList.cpp:86
SpectrumFamilyList(const SpectrumList *spec_manager=NULL)
Definition: SpectrumFamilyList.cpp:17
void PrintFamily(const string &family_name) const
Definition: SpectrumFamilyList.hh:107
Definition: SpectrumList.hh:30
ClassDef(SpectrumFamilyList, 0)
virtual bool SetSpectraSaveSelection(const string &family_name, const bool b=true) const
Definition: SpectrumFamilyList.cpp:270