Analysis
version 7.0 - august 2014
Main Page
Related Pages
Classes
Files
File List
File Members
FilterBase.hh
Go to the documentation of this file.
1
//======================================================================
2
/*! \file FilterBase.hh
3
*
4
* Fichier de déclaration de la classe de base FilterBase.
5
*/
6
//======================================================================
7
8
9
#ifndef FILTER_BASE_HH
10
#define FILTER_BASE_HH
11
12
#include "
EventCommon.hh
"
13
14
#include <iomanip>
15
using namespace
std;
16
17
#include "RString.hh"
18
19
class
EventManager
;
20
class
Filter
;
21
class
RContour;
22
23
/// Mode de traitement des paramètres multiples pour les filtres 1D (filtre/gate ou contour /gate)
24
enum
FilterMultiParMode
25
{
26
filterMultiParAnd = 0,
27
filterMultiParOr = 1
28
} ;
29
30
//======================================================================
31
/*! \class FilterBase
32
*
33
* Classe de base pour les filtres sur des événements. Cette classe
34
* n'a pas vocation à être utilisée directement, mais comme un champ
35
* de la classe générique Filter.
36
*
37
* Les classes dérivées définissent différents types de filtres:
38
* - les filtres constants: True, False
39
* - les filtres logiques: And, Or, XOr, Not
40
* - les filtres numériques: Gate, Contour
41
*/
42
class
FilterBase
43
{
44
//----------------------------------------------------------------------
45
/*! \object_doc */
46
GObjectV(
FilterBase
);
47
//----------------------------------------------------------------------
48
49
protected
:
50
51
public
:
52
53
//----------------------------------------------------------------------
54
// CONSTRUCTEUR / AFFECTATION / DESTRUCTEUR
55
56
// constructeurs
57
FilterBase
( );
58
FilterBase
(
const
FilterBase
& f );
59
60
// opérateur d'affectation
61
FilterBase
& operator = (
const
FilterBase
& f );
62
63
// destructeur
64
virtual
~
FilterBase
( );
65
66
//----------------------------------------------------------------------
67
68
/*! Teste la validité du filtre.*/
69
virtual
bool
Ok ( )
const
= 0;
70
71
/*! Retourne le type de filtre.*/
72
virtual
int
Type ( )
const
= 0;
73
74
/*! Retourne le type de filtre, sous forme textuelle.*/
75
virtual
string
TypeName ( )
const
= 0;
76
77
78
//----------------------------------------------------------------------
79
80
// Ecriture du filtre.
81
virtual
bool
Write ( ostream &os )
const
;
82
virtual
bool
Write ( FILE *fptr )
const
;
83
84
// Fonction statique de lecture d'un nouveau filtre.
85
static
FilterBase
* NewBase (
const
string
&def,
const
EventManager
* mgr );
86
87
//----------------------------------------------------------------------
88
89
/*! Test si un filtre utilise un contour (en particulier pour savoir si le
90
* contour peut-être effacé).
91
* \param ct pointeur sur le contour
92
* \param rec indique si on doit chercher récursivement dans les filtres
93
*/
94
virtual
bool
UsesContour (
const
RContour *ct,
const
bool
rec =
true
)
const
= 0;
95
96
/*! Test si un filtre utilise un autre filtre (en particulier pour savoir
97
* si le filtre peut-être effacé).
98
* \param f pointeur sur le filtre
99
* \param rec indique si on doit chercher récursivement dans les filtres
100
*/
101
virtual
bool
UsesFilter (
const
Filter
*f,
const
bool
rec =
true
)
const
= 0;
102
103
//----------------------------------------------------------------------
104
105
protected
:
106
107
/*! Ecriture des données du filtre dans une chaîne de définition.*/
108
virtual
string
DefinitionString ( )
const
= 0;
109
110
//----------------------------------------------------------------------
111
// pour ROOT...
112
113
public
:
114
/*! Définition à usage de ROOT... */
115
ClassDef(
FilterBase
,0);
116
};
117
118
119
//======================================================================
120
// METHODES INLINE
121
122
123
//======================================================================
124
#endif
FilterBase
Definition:
FilterBase.hh:42
FilterMultiParMode
FilterMultiParMode
Mode de traitement des paramètres multiples pour les filtres 1D (filtre/gate ou contour /gate) ...
Definition:
FilterBase.hh:24
Filter
Definition:
Filter.hh:50
EventCommon.hh
EventManager
Definition:
EventManager.hh:59
Event
src
Event
Filter
FilterBase.hh
Generated on Sat Jun 6 2020 09:31:45 for Analysis by
1.8.5