Analysis  version 7.0 - august 2014
FilterBaseMultiOp.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file FilterBaseMultiOp.hh
3  *
4  * Fichier de déclaration de la classe FilterBaseMultiOp.
5  */
6 //======================================================================
7 
8 #ifndef FILTER_BASE_MULTI_OP_HH
9 #define FILTER_BASE_MULTI_OP_HH
10 
11 #include "FilterBase.hh"
12 #include "FilterList.hh"
13 
14 //======================================================================
15 /*! \class FilterBaseMultiOp
16  *
17  * Classe de base des filtres opération pour un nombre variable de filtres.
18  *
19  * La liste des filtres ne détruits pas les objets (gérés par le gestionnaire
20  * d'événement): ils sont uniquement inclus par leur pointeur.
21  */
23 {
24 //----------------------------------------------------------------------
25  /*! \object_doc */
27 //----------------------------------------------------------------------
28 
29  protected:
30  GNamedListT<Filter> filt_list; ///< Liste des filtres pour l'opération logique
31 
32  const EventManager * evt_mgr; ///< Pointeur sur le gestionnaire d'événements
33 
34  public:
35 
36 //----------------------------------------------------------------------
37 // CONSTRUCTEUR / AFFECTATION / DESTRUCTEUR
38 
39  // constructeur
40  FilterBaseMultiOp ( const string &f_names, const EventManager * mgr );
41 
42  // constructeur de recopie
44 
45  // opérateur d'affectation
47 
48  // destructeur
49  virtual ~FilterBaseMultiOp ( );
50 
51 //----------------------------------------------------------------------
52 
53  // fonctions qui ajoutent des filtres à la liste
54  virtual const Filter * AddFilter ( Filter *f_ptr );
55  virtual const Filter * AddFilter ( const u_int f_num );
56  virtual const Filter * AddFilter ( const string &f_name );
57  virtual int AddFilters ( const string &f_names );
58 
59  // fonction qui remplace la liste de filtres
60  virtual int SetFilters ( const string &f_names );
61 
62 //----------------------------------------------------------------------
63 
64  // Ecriture des données du filtre dans une chaîne de définition.
65  virtual string DefinitionString ( ) const;
66 
67  // test si un filtre utilise un contour ou un autre filtre
68  // pour vérifier qu'il peut être effacé dans les listes.
69  virtual bool UsesContour ( const RContour *ct, const bool rec = true ) const;
70  virtual bool UsesFilter ( const Filter *f, const bool rec = true ) const;
71 
72 //----------------------------------------------------------------------
73 
74  virtual string FilterListString ( ) const;
75 
76  virtual int GetFListSize ( ) const;
77  virtual const Filter * GetFilterPtr ( const u_int num ) const;
78  virtual string GetFilterName ( const u_int num ) const;
79 
80  virtual const GNamedListT<Filter> * GetFListPtr ( ) const;
81 
82  // fonction générale de test
83  static bool CheckFilterNames ( const string &f_names, const EventManager * mgr );
84  static int CountFilterNames ( const string &f_names, const EventManager * mgr );
85 
86 //----------------------------------------------------------------------
87  public:
88  /*! Définition à usage de ROOT... */
90 };
91 
92 
93 //======================================================================
94 // METHODES INLINE
95 
96 
97 /*! Retourne le nombre de filtres opérandes.*/
98 inline int FilterBaseMultiOp::GetFListSize ( ) const
99  { return (filt_list.GetSize()); }
100 
101 /*! Retourne le pointeur sur la liste de filtres opérandes.*/
102 inline const GNamedListT<Filter> * FilterBaseMultiOp::GetFListPtr ( ) const
103  { return (& filt_list); }
104 
105 
106 //======================================================================
107 #endif
GObjectV(FilterBaseMultiOp)
virtual int GetFListSize() const
Definition: FilterBaseMultiOp.hh:98
Definition: FilterBase.hh:42
virtual bool UsesFilter(const Filter *f, const bool rec=true) const
Definition: FilterBaseMultiOp.cpp:395
GNamedListT< Filter > filt_list
Liste des filtres pour l&#39;opération logique.
Definition: FilterBaseMultiOp.hh:30
virtual const GNamedListT< Filter > * GetFListPtr() const
Definition: FilterBaseMultiOp.hh:102
FilterBaseMultiOp & operator=(const FilterBaseMultiOp &f)
Definition: FilterBaseMultiOp.cpp:47
static int CountFilterNames(const string &f_names, const EventManager *mgr)
Definition: FilterBaseMultiOp.cpp:143
virtual bool UsesContour(const RContour *ct, const bool rec=true) const
Definition: FilterBaseMultiOp.cpp:369
Definition: Filter.hh:50
const EventManager * evt_mgr
Pointeur sur le gestionnaire d&#39;événements.
Definition: FilterBaseMultiOp.hh:32
Definition: FilterBaseMultiOp.hh:22
static bool CheckFilterNames(const string &f_names, const EventManager *mgr)
Definition: FilterBaseMultiOp.cpp:112
virtual string FilterListString() const
Definition: FilterBaseMultiOp.cpp:333
virtual string GetFilterName(const u_int num) const
Definition: FilterBaseMultiOp.cpp:91
virtual string DefinitionString() const
Definition: FilterBaseMultiOp.cpp:354
virtual const Filter * GetFilterPtr(const u_int num) const
Definition: FilterBaseMultiOp.cpp:76
ClassDef(FilterBaseMultiOp, 0)
virtual int AddFilters(const string &f_names)
Definition: FilterBaseMultiOp.cpp:268
virtual ~FilterBaseMultiOp()
Definition: FilterBaseMultiOp.cpp:64
Definition: EventManager.hh:59
virtual int SetFilters(const string &f_names)
Definition: FilterBaseMultiOp.cpp:310
FilterBaseMultiOp(const string &f_names, const EventManager *mgr)
Definition: FilterBaseMultiOp.cpp:23
virtual const Filter * AddFilter(Filter *f_ptr)
Definition: FilterBaseMultiOp.cpp:176