Analysis  version 7.0 - august 2014
SpecOper Class Referenceabstract

#include <SpecOper.hh>

Inheritance diagram for SpecOper:
SpecCalc Spec3Dim Spec2Dim Spec1Dim Spectrum SpecOper1 SpecOper2 SpecOperN SpecInv SpecNorm SpecSqrt SpecDiv SpecProd SpecSum SpecSumN

Public Member Functions

 SpecOper (const string &spec_name, const Int_t ncoef=0)
 
 SpecOper (const SpecOper &original)
 
virtual ~SpecOper ()
 
virtual bool CheckOperands () const =0
 
virtual void Increment ()
 
virtual bool IsUpdated () const
 
virtual string Definition () const
 
virtual string DefinitionString () const
 
virtual Int_t GetCoefficientNumber () const
 
virtual Int_t GetOperandNumber () const
 
virtual SpectrumGetOperand (const Int_t n) const
 
virtual Double_t GetCoefficient (const Int_t n) const
 
virtual bool UsesSpectrum (const Spectrum *sp, const bool rec=true) const
 
 ClassDef (SpecOper, 0)
 
- Public Member Functions inherited from SpecCalc
 SpecCalc (const string &spec_name)
 
 SpecCalc (const string &spec_name, const u_int nx, const double x1, const double x2)
 
 SpecCalc (const string &spec_name, const u_int nx, const double x1, const double x2, const u_int ny, const double y1, const double y2)
 
 SpecCalc (const string &spec_name, const u_int nx, const double x1, const double x2, const u_int ny, const double y1, const double y2, const u_int nz, const double z1, const double z2)
 
 SpecCalc (const SpecCalc &original)
 
virtual ~SpecCalc ()
 
virtual void SetFilter (const Filter *f) const
 
virtual void Start ()
 
virtual void Stop ()
 
virtual void Suspend ()
 
virtual u_int Dimension () const
 
virtual Int_t GetParamNumber () const
 
 ClassDef (SpecCalc, 0)
 
- Public Member Functions inherited from Spec3Dim
 Spec3Dim (const string &spec_name, const u_int nx, const double x1, const double x2, const u_int ny, const double y1, const double y2, const u_int nz, const double z1, const double z2)
 
 Spec3Dim (const Spec3Dim &original)
 
virtual ~Spec3Dim ()
 
virtual u_int Zdim () const
 
virtual double Zmin () const
 
virtual double Zmax () const
 
virtual int BinZ (const Data &d) const
 
 ClassDef (Spec3Dim, 0)
 
- Public Member Functions inherited from Spec2Dim
 Spec2Dim (const string &spec_name, const u_int nx, const double x1, const double x2, const u_int ny, const double y1, const double y2)
 
 Spec2Dim (const Spec2Dim &original)
 
virtual ~Spec2Dim ()
 
virtual u_int Ydim () const
 
virtual double Ymin () const
 
virtual double Ymax () const
 
virtual int BinY (const Data &d) const
 
 ClassDef (Spec2Dim, 0)
 
- Public Member Functions inherited from Spec1Dim
 Spec1Dim (const string &spec_name, const u_int nx, const double x1, const double x2)
 
 Spec1Dim (const Spec1Dim &original)
 
virtual ~Spec1Dim ()
 
virtual u_int Xdim () const
 
virtual double Xmin () const
 
virtual double Xmax () const
 
virtual int BinX (const Data &d) const
 
 ClassDef (Spec1Dim, 0)
 
- Public Member Functions inherited from Spectrum
 Spectrum (const string &spec_name)
 
 Spectrum (const Spectrum &original)
 
virtual ~Spectrum ()
 
string GetTitleX () const
 
string GetTitleY () const
 
string GetTitleZ () const
 
string GetFamilyName () const
 
string GetFilterName () const
 
TH1 * GetHistoPtr () const
 
virtual bool Write (ostream &os)
 
virtual bool Write (FILE *fptr)
 
virtual string BaseDefinitionString () const
 
virtual bool IsStarted () const
 
virtual bool IsStopped () const
 
virtual bool IsSuspended () const
 
virtual bool IsIncremented () const
 
virtual void SetSelectionBit (const bool b=true)
 
virtual void SetSaveSelectionBit (const bool b=true)
 
virtual void SetDeleteSelectionBit (const bool b=true)
 
virtual bool GetSelectionBit () const
 
virtual bool GetSaveSelectionBit () const
 
virtual bool GetDeleteSelectionBit () const
 
virtual void SetSaveProtection (const bool b=true)
 
virtual void SetDeleteProtection (const bool b=true)
 
virtual bool GetSaveProtection () const
 
virtual bool GetDeleteProtection () const
 
bool FilterCheck () const
 
virtual string StatusString () const
 
virtual void Reset ()
 
virtual void ClearEvent ()
 
virtual void Update ()
 
virtual SpectrumFamilyGetFamilyPtr ()
 
virtual const SpectrumFamilyGetFamilyPtr () const
 
virtual bool SetFamily (SpectrumFamily *family)
 
virtual void ResetFamily ()
 
virtual const FilterGetFilterPtr ()
 
virtual void SetFilter (const Filter *f)
 
virtual bool SetFilters (const string &filt_names, const EventManager *evt_mgr)
 
virtual void ResetFilter ()
 
virtual bool UsesContour (const RContour *ct, const bool rec=true) const
 
virtual bool UsesFilter (const Filter *f, const bool rec=true) const
 
virtual int Compare (const Spectrum &spec) const
 
virtual u_int TypeId () const =0
 
virtual string Type () const =0
 
virtual const ParamGetXParamPtr () const
 
virtual const ParamGetYParamPtr () const
 
virtual const ParamGetZParamPtr () const
 
virtual string FilterInfo () const
 
virtual void Rename (const string &name, const string &name_x="", const string &name_y="", const string &name_z="")
 
 ClassDef (Spectrum, 0)
 

Static Public Attributes

static Double_t epsilon = 1.e-12
 Limite de test des divisions par zéro
 

Protected Member Functions

virtual Int_t SetOperData (const string &defstr, const EventManager *evt_mgr)
 
virtual void SetHistoBad ()
 
virtual void SetHisto (const Int_t op=0)
 
virtual void IncrementSpectrum ()
 
- Protected Member Functions inherited from Spec1Dim
string AxisDefinition (const Param &p, const u_int dim, const double min, const double max) const
 
string AxisDefinition (const string &label, const u_int dim, const double min, const double max) const
 
- Protected Member Functions inherited from Spectrum
virtual void IncrementFast ()
 
bool FilterFastCheck () const
 
bool FilterFastLocalCheck () const
 

Static Protected Member Functions

static Int_t SetOperData (const string &def_str, const EventManager *evt_mgr, Int_t &nop, Spectrum **&op, Int_t &nco, Double_t *&co)
 

Protected Attributes

Int_t oper_num
 Nombre de spectres opérandes.
 
Int_t coef_num
 Nombre de coefficients.
 
Spectrum ** oper
 Table des pointeurs des spectres opérandes.
 
Double_t * coef
 Table des coefficients.
 
- Protected Attributes inherited from SpecCalc
u_int dim
 Dimension de l'histogramme.
 
- Protected Attributes inherited from Spec3Dim
u_int z_dim
 Nombre de canaux de la dimension Z.
 
double z_min
 Valeur minimum de la dimension Z.
 
double z_max
 Valeur maximum de la dimension Z.
 
double z_bin
 largeur d'un bin sur l'axe Z
 
- Protected Attributes inherited from Spec2Dim
u_int y_dim
 Nombre de canaux de la dimension Y.
 
double y_min
 Valeur minimum de la dimension Y.
 
double y_max
 Valeur maximum de la dimension Y.
 
double y_bin
 largeur d'un bin sur l'axe Y
 
- Protected Attributes inherited from Spec1Dim
u_int x_dim
 Nombre de canaux de la dimension X.
 
double x_min
 Valeur minimum de la dimension X.
 
double x_max
 Valeur maximum de la dimension X.
 
double x_bin
 largeur d'un bin sur l'axe X
 
- Protected Attributes inherited from Spectrum
u_int status
 Mot d'état du spectre.
 
TH1 * histo_ptr
 Pointeur sur l'histogramme Root.
 
SpectrumFamily ** family_ptr
 
const Filter ** filter_ptr
 Pointeur sur filtre associé
 
bool * filter_local
 Indique si le filtre est créé localement comme un "ET" d'un ensemble de filtres.
 

Private Member Functions

 GObjectV (SpecOper)
 

Additional Inherited Members

- Static Public Member Functions inherited from Spectrum
static string ValidName (const string s_name)
 
static SpectrumReadSpectrum (FILE *fptr, const EventManager *evt_mgr, string &fam, string &filt, int &error)
 
static SpectrumNewSpectrum (const string &str, const EventManager *evt_mgr, string &fam, string &filt)
 
static SpectrumNewSpectrum (const string &str, const EventManager *evt_mgr, string &fam, string &filt, int &error)
 
static bool Compare (const Spectrum *spec1, const Spectrum *spec2, const UInt_t flags)
 
static Int_t Compare (const Spectrum *spec1, const Spectrum *spec2)
 
static bool Compare (const int sp_num, const Spectrum **sp_tab, const UInt_t flags)
 
- Static Protected Attributes inherited from Spectrum
static u_int name_len = 0
 Longueur d'affichage des noms de spectres.
 
static u_int type_len = 0
 Longueur d'affichage des types de spectres.
 
static u_int param_name_len = 0
 Longueur d'affichage des noms de paramètres.
 
static u_int dim_len = 0
 Longueur d'affichage des dimensions.
 
static u_int bound_len = 0
 Longueur d'affichage des limites de spectre.
 
static u_int bound_prec = 5
 Précision d'affichage des limites de spectre.
 

Detailed Description

Classe de base des spectres opérant sur d'autres spectres. Ces spectres représentent des opérations sur d'autres spectres (qui doivent être de même dimension), en prenant éventuellement en compte des coefficients.

Constructor & Destructor Documentation

SpecOper::SpecOper ( const string &  spec_name,
const Int_t  ncoef = 0 
)

Constructeur.

Parameters
spec_namenom du spectre
ncoefnombre de coefficients à allouer

References coef, coef_num, oper, and oper_num.

SpecOper::SpecOper ( const SpecOper original)

Constructeur de recopie.

Parameters
originalinstance à recopier

References coef, coef_num, oper, and oper_num.

SpecOper::~SpecOper ( )
virtual

Destructeur.

References coef, coef_num, oper, and oper_num.

Member Function Documentation

SpecOper::GObjectV ( SpecOper  )
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.
Int_t SpecOper::SetOperData ( const string &  def_str,
const EventManager evt_mgr,
Int_t &  nop,
Spectrum **&  op,
Int_t &  nco,
Double_t *&  co 
)
staticprotected

Fonction qui alloue des tables pour les pointeurs de spectres opérandes et pour les coefficients, à partir de la définition donnée dans une chaîne de caractère (fonction utilisée par les classes dérivées pour la lecture d'un fichier de définition). La fonction retourne 0 si tout s'est bien passé.

Parameters
def_strchaîne de définition
evt_mgrpointeur sur le gestionnaire d'événement
nopnombre de spectres opérandes (en sortie)
optable des pointeurs sur les spectres opérandes
nconombre de coefficients
cotable des coefficients

References EventManager::GetSpectrumPtr().

Referenced by SpecSqrt::NewSpectrumDef(), SpecNorm::NewSpectrumDef(), SpecProd::NewSpectrumDef(), SpecSum::NewSpectrumDef(), SpecSumN::NewSpectrumDef(), SpecInv::NewSpectrumDef(), SpecDiv::NewSpectrumDef(), and SetOperData().

Int_t SpecOper::SetOperData ( const string &  def_str,
const EventManager evt_mgr 
)
protectedvirtual

Fonction qui définit des tables pour les pointeurs de spectres opérandes et pour les coefficients, à partir de la définition donnée dans une chaîne de caractère (fonction utilisée par les classes dérivées pour la lecture d'un fichier de définition). La fonction retourne 0 si tout s'est bien passé.

Parameters
def_strchaîne de définition
evt_mgrpointeur sur le gestionnaire d'événement

References coef, coef_num, oper, oper_num, and SetOperData().

void SpecOper::SetHistoBad ( )
protectedvirtual

Fonction définissant l'histogramme associé au spectre en cas d'erreur dans la définition (pour éviter un pointeur NULL).

References SpecCalc::dim, Spectrum::histo_ptr, Spec1Dim::x_bin, Spec1Dim::x_dim, Spec1Dim::x_max, and Spec1Dim::x_min.

Referenced by SpecOper1::SetHisto(), SetHisto(), SpecDiv::SpecDiv(), SpecProd::SpecProd(), SpecSum::SpecSum(), and SpecSumN::SpecSumN().

void SpecOper::SetHisto ( const Int_t  op = 0)
protectedvirtual

Fonction permettant de définir l'histogramme (réel double) associé au spectre avec les mêmes dimensions X et éventuellement Y) que le spectre opérande dont le numéro (d'opérande) est passé en argument. Cette fonction est appelée par les constructeurs des classes dérivées, et non par la classe abstraite elle-même.

References SpecCalc::dim, Spectrum::Dimension(), Spectrum::GetTitleX(), Spectrum::GetTitleY(), Spectrum::GetTitleZ(), Spectrum::histo_ptr, oper, Spectrum::Rename(), SetHistoBad(), Spec1Dim::x_bin, Spec1Dim::x_dim, Spec1Dim::x_max, Spec1Dim::x_min, Spec1Dim::Xdim(), Spec1Dim::Xmax(), Spec1Dim::Xmin(), Spec2Dim::y_bin, Spec2Dim::y_dim, Spec2Dim::y_max, Spec2Dim::y_min, Spec2Dim::Ydim(), Spec2Dim::Ymax(), and Spec2Dim::Ymin().

Referenced by SpecOper1::SetHisto(), SpecDiv::SpecDiv(), SpecProd::SpecProd(), SpecSum::SpecSum(), and SpecSumN::SpecSumN().

void SpecOper::IncrementSpectrum ( )
inlineprotectedvirtual

Incrémentation automatique du spectre: on retire le bit indiquant que le spectre est à jour. Il doit être recalculé avant sauvegarde ou affichage.

Reimplemented from SpecCalc.

References Spectrum::status.

virtual bool SpecOper::CheckOperands ( ) const
pure virtual

Fonction qui vérifie que les spectres opérandes sont compatible avec le type de spectre-opération, et que les opérandes sont compatibles entre elles (dimensions, binning, ...).

Implemented in SpecOperN, SpecOper2, and SpecOper1.

void SpecOper::Increment ( )
inlinevirtual

Fonction générique pour l'incrémentation d'un spectre: on retire le bit indiquant que le spectre est à jour. Il doit être recalculé avant sauvegarde ou affichage.

Reimplemented from SpecCalc.

References Spectrum::status.

bool SpecOper::IsUpdated ( ) const
virtual

Retourne vrai si le spectre n'a pas besoin d'être mis à jour. Pour les spectres calculés, on vérifie également les spectres opérandes (en particulier les spectres incrémentés sont considérés non mis à jour après incrémentation).

Reimplemented from Spectrum.

References oper, oper_num, and Spectrum::status.

Referenced by SpecSqrt::Update(), SpecNorm::Update(), SpecProd::Update(), SpecSum::Update(), SpecInv::Update(), SpecSumN::Update(), and SpecDiv::Update().

string SpecOper::Definition ( ) const
virtual

Méthode qui retourne une chaîne décrivant le spectre: type, paramètre, dimension, etc...

Implements Spectrum.

References SpecCalc::Dimension(), Spectrum::name_len, oper, oper_num, and Spectrum::Type().

string SpecOper::DefinitionString ( ) const
virtual

Fonction qui retourne la chaîne de définition d'un spectre au format d'écriture dans un fichier.

Implements Spectrum.

References Spectrum::BaseDefinitionString(), coef, coef_num, oper, and oper_num.

Int_t SpecOper::GetCoefficientNumber ( ) const
inlinevirtual

Fonction qui renvoit le nombre de coefficients pour le calcul du spectre.

References coef_num.

Int_t SpecOper::GetOperandNumber ( ) const
inlinevirtual

Fonction qui renvoit le nombre de spectres operandes.

References oper_num.

Referenced by SpecSumN::NewSpectrumDef(), SpectrumList::SetSpectrumDeleteProtection(), and SpectrumList::SetSpectrumSaveProtection().

Spectrum * SpecOper::GetOperand ( const Int_t  n) const
inlinevirtual

Retourne le pointeur sur un spectre opérande.

Parameters
nnuméro de l'opérande

References oper, and oper_num.

Referenced by SpectrumList::SetSpectrumDeleteProtection(), and SpectrumList::SetSpectrumSaveProtection().

Double_t SpecOper::GetCoefficient ( const Int_t  n) const
inlinevirtual

Retourne la valeur d'un coefficient.

Parameters
nnuméro du coefficient

References coef, and coef_num.

bool SpecOper::UsesSpectrum ( const Spectrum sp,
const bool  rec = true 
) const
virtual

Teste si la définition d'un spectre utilise un autre spectre.

Parameters
sppointeur sur le spectre auquel il est fait référence
recindique s'il faut chercher récursivement

Reimplemented from Spectrum.

References oper, and oper_num.

SpecOper::ClassDef ( SpecOper  ,
 
)

Définition à usage de ROOT...


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