Analysis  version 7.0 - august 2014
FilterBaseNot.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file FilterBaseNot.hh
3  *
4  * Fichier de déclaration de la classe FilterBaseNot.
5  */
6 //======================================================================
7 
8 #ifndef FILTER_BASE_NOT_HH
9 #define FILTER_BASE_NOT_HH
10 
11 #include "FilterBase.hh"
12 #include "FilterList.hh"
13 
14 //======================================================================
15 /*! \class FilterBaseNot
16  *
17  * Classe des filtres de négation logique (d'un autre filtre).
18  */
19 class FilterBaseNot : public FilterBase
20 {
21 //----------------------------------------------------------------------
22  /*! \object_doc */
24 //----------------------------------------------------------------------
25 
26  protected:
27  const Filter * filter; ///< Pointeur sur le filtre dont on prend la négation
28 
29  public:
30 
31 //----------------------------------------------------------------------
32 // CONSTRUCTEUR / AFFECTATION / DESTRUCTEUR
33 
34  // constructeur
35  FilterBaseNot ( const Filter * fp );
36 
37  // constructeur de recopie
38  FilterBaseNot ( const FilterBaseNot & f );
39 
40  // opérateur d'affectation
42 
43  // destructeur
44  virtual ~FilterBaseNot ( );
45 
46 //----------------------------------------------------------------------
47 
48  // Ecriture des données du filtre dans une chaîne de définition.
49  virtual string DefinitionString ( ) const;
50 
51  // Fonction statique de lecture d'un nouveau filtre.
52  // il faut passer une liste en argument, dans laquelle doit
53  // se trouver le filtre dont on veut la négation
54  static FilterBaseNot * NewBase ( const string &def, const EventManager * mgr );
55 
56  // test si un filtre utilise un contour ou un autre filtre
57  // pour vérifier qu'il peut être effacé dans les listes.
58  virtual bool UsesContour ( const RContour *ct, const bool rec = true ) const;
59  virtual bool UsesFilter ( const Filter *f, const bool rec = true ) const;
60 
61 //----------------------------------------------------------------------
62 
63  virtual bool Ok ( ) const;
64  virtual int Type ( ) const;
65  virtual string TypeName ( ) const;
66  virtual const Filter * GetFilterPtr ( ) const;
67 
68  protected:
69 
70 
71 //----------------------------------------------------------------------
72 // pour ROOT...
73 
74  public:
75  /*! Définition à usage de ROOT... */
77 };
78 
79 
80 //======================================================================
81 // METHODES INLINE
82 
83 /*! Test de validité du filtre.
84  */
85 inline bool FilterBaseNot::Ok ( ) const
86  { return ( (filter != NULL) ? (! filter->Ok()) : false ); }
87 
88 /*! Retourne le type de filtre. */
89 inline int FilterBaseNot::Type ( ) const
90  { return (Filter::typeNot); }
91 
92 /*! Retourne le type de filtre, sous forme textuelle. */
93 inline string FilterBaseNot::TypeName ( ) const
94  { return (FILTER_TYPE_TXT_NOT); }
95 
96 /*! Retourne le pointeur sur le filtre opérande. */
97 inline const Filter * FilterBaseNot:: GetFilterPtr( ) const
98  { return (filter); }
99 
100 
101 //======================================================================
102 #endif
FilterBaseNot(const Filter *fp)
Definition: FilterBaseNot.cpp:18
#define FILTER_TYPE_TXT_NOT
Nom du type de filtre.
Definition: Filter.hh:20
virtual int Type() const
Definition: FilterBaseNot.hh:89
Definition: FilterBase.hh:42
virtual bool UsesContour(const RContour *ct, const bool rec=true) const
Definition: FilterBaseNot.cpp:117
virtual bool Ok() const
Definition: FilterBaseNot.hh:85
FilterBaseNot & operator=(const FilterBaseNot &f)
Definition: FilterBaseNot.cpp:39
virtual ~FilterBaseNot()
Definition: FilterBaseNot.cpp:56
Definition: Filter.hh:50
Definition: FilterBaseNot.hh:19
const Filter * filter
Pointeur sur le filtre dont on prend la négation.
Definition: FilterBaseNot.hh:27
virtual string DefinitionString() const
Definition: FilterBaseNot.cpp:66
virtual string TypeName() const
Definition: FilterBaseNot.hh:93
virtual const Filter * GetFilterPtr() const
Definition: FilterBaseNot.hh:97
GObject(FilterBaseNot)
static FilterBaseNot * NewBase(const string &def, const EventManager *mgr)
Definition: FilterBaseNot.cpp:84
virtual bool Ok() const
Definition: Filter.hh:152
ClassDef(FilterBaseNot, 0)
Definition: EventManager.hh:59
virtual bool UsesFilter(const Filter *f, const bool rec=true) const
Definition: FilterBaseNot.cpp:135