Analysis  version 7.0 - august 2014
GEVSpectrumRequester.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GEVSpectrumRequester.hh
3  *
4  * Déclaration de la classe GEVSpectrumRequester, qui définit
5  * une requête de sélection d'un ou plusieurs spectres.
6  */
7 //======================================================================
8 
9 #ifndef GEV_SPECTRUM_REQUESTER_HH
10 #define GEV_SPECTRUM_REQUESTER_HH
11 
12 
13 #include "SpectrumList.hh"
14 #include "GEVPad.hh"
15 #include "RGListRequester.hh"
16 
17 // includes ROOT
18 
19 // définition des options
20 
21 /*! Ajout d'options par rapport aux classes de base des requêtes:
22  * RGBaseRequester et RGListRequester.
23  */
25 {
26  gevSpec1D = 0x00100000, // sélection des spectres 1D
27  gevSpec2D = 0x00200000, // sélection des spectres 2D
28 
29  gevSpecXbins = 0x00400000, // nombre de bins X identique au spectre de référence
30  gevSpecXbound = 0x00800000, // limites X identiques au spectre de référence
31  gevSpecXaxis = 0x00C00000, // axe X identique au spectre de référence
32  gevSpecYbins = 0x01000000, // nombre de bins X identique au spectre de référence
33  gevSpecYbound = 0x02000000, // limites X identiques au spectre de référence
34  gevSpecYaxis = 0x03000000, // axe X identique au spectre de référence
35 
36  gevSpecAll = 0x03F00000 // sélection tous types de spectres et identifé à la référence
37 };
38 
39 //======================================================================
40 /*! \class GEVSpectrumRequester
41  *
42  * Requête de sélection d'un ou plusieurs spectres.
43  * Les spectres peuvent provenir soit directement d'une liste de spectre,
44  * soit d'un pad pour sléctionner parmi des spectres affichés, selon le
45  * constructeur choisi.
46  *
47  * Le choix du constructeur permet également de distinguer entre une sélection
48  * unique ou multiple (selon le type de variable en retour).
49  *
50  * Options (vois aussi les options de RGBaseRequester et RGListRequester):
51  * - gevSpec1D on ne considère que les spectres 1D de la liste (par défaut: 1D et 2D)
52  * - gevSpec2D on ne considère que les spectres 2D de la liste (par défaut: 1D et 2D)
53  * - gevSpecAll on considère tous les spectres : 1D et 2D de la liste
54  */
55 
56 class GEVSpectrumRequester : public RGListRequester
57 {
58 //----------------------------------------------------------------------
59  /*! \object_doc */
61 //----------------------------------------------------------------------
62 
63  protected:
64 #ifndef __MAKECINT__
65  GNamedListT<Spectrum> * spec_list; ///< Liste des spectres de la liste de sélection
66  string * spec_names; ///< Table des noms de spectres
67  int spec_num; ///< Nombre de spectres de la table
68 
69  Spectrum ** output_single; ///< Pointeur sur le résultat de la requête (sélection unique)
70  GNamedListT<Spectrum> * output_multi; ///< Pointeur sur le résultat de la requête (sélection multiple)
71 #endif
72 
73  public:
74 //----------------------------------------------------------------------
75 // Constructeur, destructeur, affectation
76 
77  // constructeur pour retour unique
78  // constructeur à partir d'une liste de spectres
79  GEVSpectrumRequester ( GNamedListT<Spectrum> * sp_list,
80  Spectrum *& sp,
81  const TGWindow * mw = NULL,
82  const u_int opts = gevSpecAll );
83 
84  // constructeur à partir d'une liste de spectres avec des conditions
85  // d'axe identiques à un spectre de ref.
86  GEVSpectrumRequester ( GNamedListT<Spectrum> * sp_list,
87  Spectrum * sp_ref,
88  Spectrum *& sp,
89  const TGWindow * mw = NULL,
90  const u_int opts = gevSpecAll );
91 
92  // constructeur à partir d'und'un pad
93  GEVSpectrumRequester ( const GEVPad * pad,
94  Spectrum *& sp,
95  const TGWindow * mw = NULL,
96  const u_int opts = gevSpecAll );
97 
98  // constructeur pour retour multiple
99  // constructeur à partir d'une liste de spectres
100  GEVSpectrumRequester ( GNamedListT<Spectrum> * sp_list,
101  GNamedListT<Spectrum> & out_list,
102  const TGWindow * mw = NULL,
103  const u_int opts = gevSpecAll );
104 
105  // constructeur à partir d'und'un pad
106  GEVSpectrumRequester ( const GEVPad * pad,
107  GNamedListT<Spectrum> & out_list,
108  const TGWindow * mw = NULL,
109  const u_int opts = gevSpecAll);
110 
111  // destructeur
112  virtual ~GEVSpectrumRequester ( );
113 
114  protected:
115  GEVSpectrumRequester ( const GEVSpectrumRequester & original );
116 
117 
118 //----------------------------------------------------------------------
119  public:
120 
121  virtual void Construct ( );
122  virtual void Request ( );
123 
124  protected:
125  virtual void DefineList ( const GNamedListT<Spectrum> * sp_list );
126  virtual void DefineList ( const GNamedListT<Spectrum> * sp_list, const Spectrum * sp_ref );
127  virtual void DefineList ( const GEVPad * pad );
128 
129 //----------------------------------------------------------------------
130 // Slots
131  public:
132 
133  // boutons de la requête (surcharge de RGMessageRequester)
134  virtual void Button ( Int_t n );
135 
136 
137 //----------------------------------------------------------------------
138  public:
139  /*! Définition à usage de ROOT... */
141 };
142 
143 //----------------------------------------------------------------------
144 // FONCTIONS INLINE
145 //----------------------------------------------------------------------
146 
147 
148 //======================================================================
149 #endif
GEVSpectrumRequester(GNamedListT< Spectrum > *sp_list, Spectrum *&sp, const TGWindow *mw=NULL, const u_int opts=gevSpecAll)
Definition: GEVSpectrumRequester.cpp:27
GNamedListT< Spectrum > * spec_list
Liste des spectres de la liste de sélection.
Definition: GEVSpectrumRequester.hh:65
virtual ~GEVSpectrumRequester()
Definition: GEVSpectrumRequester.cpp:176
GObject(GEVSpectrumRequester)
Definition: Spectrum.hh:222
Spectrum ** output_single
Pointeur sur le résultat de la requête (sélection unique)
Definition: GEVSpectrumRequester.hh:69
virtual void DefineList(const GNamedListT< Spectrum > *sp_list)
Definition: GEVSpectrumRequester.cpp:197
virtual void Construct()
Definition: GEVSpectrumRequester.cpp:406
Definition: GEVSpectrumRequester.hh:56
Definition: GEVPad.hh:62
virtual void Request()
Definition: GEVSpectrumRequester.cpp:455
ClassDef(GEVSpectrumRequester, 0)
GNamedListT< Spectrum > * output_multi
Pointeur sur le résultat de la requête (sélection multiple)
Definition: GEVSpectrumRequester.hh:70
virtual void Button(Int_t n)
Definition: GEVSpectrumRequester.cpp:463
int spec_num
Nombre de spectres de la table.
Definition: GEVSpectrumRequester.hh:67
GEVSpectrumRequesterOptions
Definition: GEVSpectrumRequester.hh:24
string * spec_names
Table des noms de spectres.
Definition: GEVSpectrumRequester.hh:66