Analysis  version 7.0 - august 2014
Filter Class Reference

#include <Filter.hh>

Inheritance diagram for Filter:

Public Types

enum  FTypes {
  typeFalse = 0, typeTrue = 1, typeNot = 2, typeAnd = 3,
  typeOr = 4, typeXOr = 5, typeMultiAnd = 6, typeMultiOr = 7,
  typeGate = 16, typeContour = 17, typeUndefined = -1
}
 Identification des types de contours.
 

Public Member Functions

 Filter (const string &f_name="unnamed")
 
 Filter (const string &f_name, const FilterBase &f_base)
 
 Filter (const string &f_name, FilterBase *f_base)
 
 Filter (const Filter &f, const string &f_name)
 
 Filter (const Filter &f)
 
Filteroperator= (const Filter &f)
 
Filteroperator= (const FilterBase &f_base)
 
virtual ~Filter ()
 
virtual int Type () const
 
virtual string TypeName () const
 
virtual bool Ok () const
 
virtual void Rename (const string &ct_name)
 
virtual bool Write (ostream &os) const
 
virtual bool Write (FILE *fptr) const
 
virtual Int_t Read (istream &is, const EventManager *mgr)
 
virtual Int_t Read (FILE *fptr, const EventManager *mgr)
 
virtual Int_t Read (const string &str, const EventManager *mgr)
 
const FilterBaseGetFilterBase () const
 
virtual bool UsesContour (const RContour *ct, const bool rec=true) const
 
virtual bool UsesFilter (const Filter *f, const bool rec=true) const
 
 ClassDef (Filter, 0)
 

Protected Attributes

FilterBasefilter_ptr
 Pointeur sur une instance de base d'un filtre.
 
bool * value
 Valeur courante du filtre (mise à jour par Ok())
 

Private Member Functions

 GObject (Filter)
 
virtual void SetInternalValue (const bool b) const
 
virtual bool GetInternalValue () const
 

Friends

class FilterList
 
class Spectrum
 
class TreeInfo
 

Detailed Description

Classe générique pour le traitement des filtres. Cette classe ne définit pas un filtre, mais y fait référence par un pointeur. Les filtres eux-mêmes sont définis à partir des classes dérivées de la classe FilterBase.

Un filtre définit une condition sur un événement: soit par une combinaison logique de filtres, soit par des conditions sur des paramètres.

Un filtre est validé par la méthode Ok(), qui teste les contours où autres filtres impliqués. Cette méthode peut être longue lors de l'utilisation de filtres compliqués et/ou appliqués à de nombreux spectres. C'est pourquoi la validité d'un filtre peut être précalculée, avant l'incrémentation des spectres notemment: c'est l'intérêt des fonction GetInternalValue et SetInternalValue.

Constructor & Destructor Documentation

Filter::Filter ( const string &  f_name = "unnamed")

Constructeur par défaut: aucun filtre associé.

Parameters
f_namenom du filtre

References filter_ptr, and value.

Referenced by Read().

Filter::Filter ( const string &  f_name,
const FilterBase f_base 
)

Constructeur à partir d'une instance de base d'un filtre: l'instance est recopiée.

Parameters
f_namenom du filtre
f_baseinstance de base de filtre

References filter_ptr, and value.

Filter::Filter ( const string &  f_name,
FilterBase f_base 
)

Constructeur à partir d'un pointeur de base d'un filtre: le pointeur est adopté, et détruit par le destructeur.

Parameters
f_namenom du filtre
f_basepointeur de base de filtre

References filter_ptr, and value.

Filter::Filter ( const Filter f,
const string &  f_name 
)

Constructeur de recopie: si f_name = "", alors le nom est copié aussi, sinon, un nouveau nom est donné au filtre.

Parameters
ffiltre à copier
f_namenom du nouveau filtre

References filter_ptr, and value.

Filter::Filter ( const Filter f)

Constructeur de recopie.

Parameters
ffiltre à copier

References filter_ptr, and value.

Filter::~Filter ( )
virtual

Destructeur.

References filter_ptr.

Member Function Documentation

Filter::GObject ( Filter  )
private

Macro from GCpp library that defines the following functions:

  • ClassName(): return the real class name of the object
  • StaticClassName(): return the used class name of the object (that may be a base class of the real object).
  • IsInstanceOf<T>(): return true if the current object is an instance of the template class name argument
  • Clone(): return an allocated copy of the object.
Filter & Filter::operator= ( const Filter f)

Opérateur d'affectation.

Parameters
ffiltre à affecter

References filter_ptr.

Filter & Filter::operator= ( const FilterBase f_base)

Opérateur d'affectation.

Parameters
f_baseinstance de base de filtre à affecter

References filter_ptr.

int Filter::Type ( ) const
inlinevirtual

Retourne le type de contour.

References filter_ptr, and FilterBase::Type().

Referenced by GEVFilterEditor::Info().

string Filter::TypeName ( ) const
inlinevirtual

Retourne le type de contour, sous forme textuelle.

References filter_ptr, and FilterBase::TypeName().

Referenced by GEVFilterEditor::Info().

bool Filter::Ok ( ) const
inlinevirtual
void Filter::Rename ( const string &  f_name)
inlinevirtual

Renomme un contour (cette fonction est publique, à la différence de GNamed::SetName).

Parameters
f_namenouveau nom du filtre

Referenced by GEVFilterNameRequester::Button().

bool Filter::Write ( ostream &  os) const
virtual

Ecriture du filtre dans un flux de sortie.

Parameters
osflux de sortie

References FILTER_ID, filter_ptr, and FilterBase::Write().

Referenced by GEVFilterEditor::SaveSelected().

bool Filter::Write ( FILE *  fptr) const
virtual

Ecriture du filtre dans un fichier de sortie.

Parameters
fptrpointeur de fichier

References FILTER_ID, filter_ptr, and FilterBase::Write().

Int_t Filter::Read ( istream &  is,
const EventManager mgr 
)
virtual

Fonction d'allocation d'un nouveau filtre par lecture dans un flux d'entrée. La fonction retourne un code d'erreur: 0 pas d'erreur, positif si ce n'est pas une définition de filtre, négatif si la lecture a échoué.

Parameters
isflux d'entrée
mgrpointeur sur le gestionnaire d'événements (il sert à vérifier l'existence des filtres en cas d'opération logique)

Referenced by FilterList::Load(), and Read().

Int_t Filter::Read ( FILE *  fptr,
const EventManager mgr 
)
virtual

Lecture de l'entête de filtre depuis un fichier d'entrée. La fonction retourne un code d'erreur: 0 pas d'erreur, positif si ce n'est pas une définition de filtre, négatif si la lecture a échoué.

Parameters
fptrpointeur de fichier
mgrpointeur sur le gestionnaire d'événements (il sert à vérifier l'existence des filtres en cas d'opération logique)

References Read().

Int_t Filter::Read ( const string &  str,
const EventManager mgr 
)
virtual

Lecture de l'entête de filtre depuis un fichier d'entrée. La fonction retourne un code d'erreur: 0 pas d'erreur, positif si ce n'est pas une définition de filtre, négatif si la lecture a échoué.

Parameters
strchaîne de définition du filtre
mgrpointeur sur le gestionnaire d'événements (il sert à vérifier l'existence des filtres en cas d'opération logique)

References Filter(), FILTER_ID, and FilterBase::NewBase().

const FilterBase * Filter::GetFilterBase ( ) const
inline

Retourne le pointeur de base sur le contour.

References filter_ptr.

Referenced by GEVFilterEditor::Info().

bool Filter::UsesContour ( const RContour *  ct,
const bool  rec = true 
) const
inlinevirtual

Test si un filtre utilise un contour (en particulier pour savoir si le contour peut-être effacé).

Parameters
ctpointeur sur le contour
recindique si on doit chercher récursivement dans les filtres

References filter_ptr, and FilterBase::UsesContour().

Referenced by TreeList::GetListUsingContour(), SpectrumList::GetListUsingContour(), FilterBase2Op::UsesContour(), FilterBaseNot::UsesContour(), FilterBaseMultiOp::UsesContour(), TreeInfo::UsesContour(), and Spectrum::UsesContour().

bool Filter::UsesFilter ( const Filter f,
const bool  rec = true 
) const
inlinevirtual
void Filter::SetInternalValue ( const bool  b) const
inlineprivatevirtual

Mise à valeur du résultat du filtre: usage interne seulement: cette méthode sert à ne pas recalculer les filtres plusieurs fois dans les incrémentations de spectres.

Parameters
bnouveau nom du filtre

References value.

bool Filter::GetInternalValue ( ) const
inlineprivatevirtual

Retourne le résultat du filtre: usage interne seulement: cette méthode sert à ne pas recalculer les filtres plusieurs fois dans les incrémentations de spectres.

References value.

Referenced by Spectrum::FilterFastLocalCheck().

Filter::ClassDef ( Filter  ,
 
)

Définition à usage de ROOT...


The documentation for this class was generated from the following files: