Analysis  version 7.0 - august 2014
Spectrum Class Referenceabstract

#include <Spectrum.hh>

Inheritance diagram for Spectrum:
Spec1Dim Spec2Dim SpecDistrib SpecMono SpecUser1D Spec3Dim SpecBidim SpecCumul SpecHCumul SpecUser2D SpecTrace SpecCalc SpecHSum SpecTridim SpecExtern SpecHisto SpecOper SpecHMean SpecOper1 SpecOper2 SpecOperN SpecInv SpecNorm SpecSqrt SpecDiv SpecProd SpecSum SpecSumN

Public Member Functions

 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 DefinitionString () const =0
 
virtual string BaseDefinitionString () const
 
virtual void Start ()
 
virtual void Stop ()
 
virtual void Suspend ()
 
virtual bool IsStarted () const
 
virtual bool IsStopped () const
 
virtual bool IsSuspended () const
 
virtual bool IsIncremented () const
 
virtual bool IsUpdated () 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 Increment ()
 
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 bool UsesSpectrum (const Spectrum *sp, const bool rec=true) const
 
virtual int Compare (const Spectrum &spec) const
 
virtual u_int Dimension () const =0
 
virtual u_int TypeId () const =0
 
virtual string Type () const =0
 
virtual const ParamGetXParamPtr () const
 
virtual const ParamGetYParamPtr () const
 
virtual const ParamGetZParamPtr () const
 
virtual Int_t GetParamNumber () const
 
virtual string Definition () const =0
 
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 Member Functions

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)
 

Protected Member Functions

virtual void IncrementFast ()
 
bool FilterFastCheck () const
 
bool FilterFastLocalCheck () const
 
virtual void IncrementSpectrum ()
 

Protected Attributes

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.
 

Static Protected Attributes

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.
 

Private Member Functions

 GObjectV (Spectrum)
 

Friends

class SpectrumList
 
class SpectrumFamily
 
class FilterList
 

Detailed Description

C'est la classe de base des spectres associés aux paramètres de l'événement. On distingue trois types de spectres:

  • les spectres incrémentés à partir de paramètres
  • les spectres constants, obtenus à partir d'un histogramme dans un fichier externe
  • les spectres calculés à partir d'autres spectres

Pour les spectres est liés à un ou plusieurs paramètres, l'incrémentation se fait à partir des valeurs de ces paramètres, événement par événement. Les spectres calculés sont mis à jour (recalculés) seulement si nécessaire: pour la sauvegarde, l'affichage, ... Pour ces spectres, l'appel à la fonction d'incrémentation (en principe après traitement d'un événement), retire le bit indiquant que le spectre est à jour. Les spectres provenant d'histogrammes de fichiers externes ne sont ni incrémentés, ni mis à jour.

Filtrage des spectres

Les filtres n'ont pas d'effet sur les spectres externes ou les spectres calculés.

Un spectre peut être dans différents états:

  • démarré: l'incrémentation du spectre est alors autorisée; c'est l'état d'un spectre à sa création.
  • arrêté: l'incrémentation du spectre n'est alors pas autorisée, et ce jusqu'à ce que le spectre soit à nouveau démarré.
  • suspendu: l'incrémentation du spectre est interdite une fois; après cette tentative, le bit d'état correspondant à la suspension est remis à 0.
Note
Les méthodes liées aux familles de spectres sont protégées, car c'est le gestionnaire de spectres (SpectrumList) qui s'en occuppe.

Filtres des spectres (voir SetFilter, SetFilters, ResetFilter,...)

  • on peut associer un filtre à un spectre, afin de conditionner son incrémentation (uniquement pour les spectres incrémentés à partir des valeurs de paramètres, et non pour des spectres calculés).
  • on peut aussi conditionner avec plusieurs filtres, dans ce cas un filtre intermédiaire (ET logique) est créé.

Dans le cas d'une condition avec plusieurs filtres, la procédure d'incrémentation des spectres est un peu ralentie, parce que le filtre créé localement n'est pas pré-testé, ne faisant pas partie de la liste de filtres de l'analyse.

protection des spectres

Les spectres peuvent être protégés pour empêcher qu'ils ne soient sauvegardés ou supprimés dans les listes (en particulier par l'interface graphique).

Ceci présente un intérêt dans le cas de spectres qui sont créés par programme et qui ne doivent donc pas être sauvegardés ou détruits de façon inconsidérée, en particulier dans l'interface graphique.

En principe, il s'agit essentiellement de spectres créés dans le code, dont la suppression risque de générer un plantage du programme, ou que la sauvegarde dans le cadre d'une analyse complète risque de duppliquer en cas de chargement de l'analyse lors d'une nouvelle exécution du programme.

Note
Attention, dans le cas des spectres opérations ou des spectres utilisés comme opérande pour des spectres opérations, ces protections peuvent conduire à des situations indésirables. Par exemple un spectre opérande pourrait être détruit alors que le spectre opération est protégé ! Il est conseillé d'utiliser plutôt les fonctions de la classe EventManager, qui veillent à la cohérence de ces protections.

Constructor & Destructor Documentation

Spectrum::Spectrum ( const string &  spec_name)

Constructeur.

Parameters
spec_namechaîne donnant le nom du spectre

References family_ptr, filter_local, filter_ptr, histo_ptr, status, and ValidName().

Spectrum::Spectrum ( const Spectrum original)

Constructeur de recopie.

Parameters
originalinstance à recopier

References family_ptr, filter_local, filter_ptr, histo_ptr, and status.

Spectrum::~Spectrum ( )
virtual

Destructeur.

References family_ptr, filter_local, filter_ptr, and ResetFamily().

Member Function Documentation

Spectrum::GObjectV ( Spectrum  )
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.
string Spectrum::ValidName ( const string  s_name)
static

Retourne un nom de spectre valide à partir du nom passé en argument, en supprimant les caractères qui ne sont pas autorisés.

Parameters
s_namenom de spectre avant correction

Referenced by GEVExternHistoRequester::Button(), Rename(), SpecExtern::SpecExtern(), and Spectrum().

string Spectrum::GetFamilyName ( ) const
string Spectrum::GetFilterName ( ) const

Retourne le nom du filtre associé au spectre, ou une chaîne vide. Dans le cas d'un filtre local (ET logique sur des filtres prédéfinis), C'est la liste de filtres qui est retournée. Pour obtenir dans tous les cas le nom du filtre, il est possible d'utiliser GetFilterPtr()->GetName().

References filter_local, filter_ptr, and FilterBaseMultiOp::FilterListString().

Referenced by BaseDefinitionString(), GEVSpectrumEditor::Copy(), GEVSpectrumEditor::Info(), and GEVSpectrumEditor::SelectionChanged().

bool Spectrum::Write ( ostream &  os)
virtual

Ecriture d'un spectre dans un flux de sortie.

Parameters
osflux de sortie

References DefinitionString(), GetSaveProtection(), IsUpdated(), SPECTRUM_ID, TypeId(), and Update().

bool Spectrum::Write ( FILE *  fptr)
virtual

Ecriture d'un spectre dans un fichier.

Parameters
fptrpointeur sur le fichier

References DefinitionString(), IsUpdated(), SPECTRUM_ID, TypeId(), and Update().

virtual string Spectrum::DefinitionString ( ) const
pure virtual

Ecriture des données du filtre dans une chaîne de définition.

Implemented in SpecOper, SpecTridim, SpecUser2D, SpecCumul, SpecBidim, SpecUser1D, SpecDistrib, SpecHCumul, SpecHSum, SpecMono, SpecTrace, SpecExtern, and SpecHisto.

Referenced by Write().

Spectrum * Spectrum::ReadSpectrum ( FILE *  fptr,
const EventManager evt_mgr,
string &  fam,
string &  filt,
int &  error 
)
static

Fonction qui alloue un nouveau spectre à partir de la lecture dans un fichier. Le code d'erreur en sortie vaut 0 si tout s'est bien passé, prend une valeur négative s'il s'agit bien d'un spectre mais que sa définition pose problème, et une valeur positive s'il s'agit d'une autre erreur. Si on est en fin de fichier, la fonction retourne NULL avec un code d'erreur à 0.

Parameters
fptrfichier dans lequel on lit la définition
evt_mgrpointeur sur le gestionnaire d'événements
famnom de la famille en sortie
filtnom du filtre en sortie
errorcode d'erreur en sortie

References NewSpectrum(), and read_string().

Referenced by SpectrumList::Load().

Spectrum * Spectrum::NewSpectrum ( const string &  str,
const EventManager evt_mgr,
string &  fam,
string &  filt 
)
static

Fonction qui alloue un nouveau spectre à partir d'une chaîne de définition (sans retour de code d'erreur).

Parameters
strchaîne de définition du spectre
evt_mgrpointeur sur le gestionnaire d'événements
famnom de la famille en sortie
filtnom du filtre en sortie

Referenced by ReadSpectrum().

Spectrum * Spectrum::NewSpectrum ( const string &  str,
const EventManager evt_mgr,
string &  fam,
string &  filt,
int &  error 
)
static

Fonction qui alloue un nouveau spectre à partir d'une chaîne de définition (au format des fichiers de spectres). Le code d'erreur en sortie vaut 0 si tout s'est bien passé, prend une valeur négative s'il s'agit bien d'un spectre mais que sa définition pose problème, et une valeur positive s'il s'agit d'une autre erreur.

Parameters
strchaîne de définition du spectre
evt_mgrpointeur sur le gestionnaire d'événements
famnom de la famille en sortie
filtnom du filtre en sortie
errorcode d'erreur en sortie

References EventManager::GetEventPtr(), SpecSqrt::NewSpectrumDef(), SpecNorm::NewSpectrumDef(), SpecProd::NewSpectrumDef(), SpecSum::NewSpectrumDef(), SpecSumN::NewSpectrumDef(), SpecInv::NewSpectrumDef(), SpecDiv::NewSpectrumDef(), SpecExtern::NewSpectrumDef(), SpecHMean::NewSpectrumDef(), SpecTrace::NewSpectrumDef(), SpecHSum::NewSpectrumDef(), SpecHCumul::NewSpectrumDef(), SpecMono::NewSpectrumDef(), SpecDistrib::NewSpectrumDef(), SpecCumul::NewSpectrumDef(), SpecBidim::NewSpectrumDef(), SpecTridim::NewSpectrumDef(), Rename(), and SPECTRUM_ID.

void Spectrum::Start ( )
inlinevirtual

Démarre le spectre, ce qui autorise l'incrémentation.

Reimplemented in SpecCalc.

References status.

Referenced by EventManager::StartSpectrum().

void Spectrum::Stop ( )
inlinevirtual

Stoppe le spectre, ce qui interdit l'incrémentation, jusqu'à ce que le spectre soit à nouveau démarré.

Reimplemented in SpecCalc.

References status.

Referenced by EventManager::StopSpectrum().

void Spectrum::Suspend ( )
inlinevirtual

Suspend le spectre, ce qui interdit l'incrémentation pour un seul événement (en fait pour une tentative d'incrémentation: le bit correspondant est remis à zéro par l'incrémentation).

Reimplemented in SpecCalc.

References status.

Referenced by EventManager::SuspendSpectrum().

bool Spectrum::IsStarted ( ) const
inlinevirtual

Retourne vrai si le spectre est démarré (il peut cependant être suspendu).

References status.

Referenced by StatusString().

bool Spectrum::IsStopped ( ) const
inlinevirtual

Retourne vrai si le spectre est arrêté.

References status.

bool Spectrum::IsSuspended ( ) const
inlinevirtual

Retourne vrai si le spectre est suspendu.

References status.

Referenced by StatusString().

bool Spectrum::IsIncremented ( ) const
inlinevirtual

Retourne vrai si le spectre est démarré et non suspendu: l'incrémentation est donc autorisée.

References status.

Referenced by Increment(), and IncrementFast().

bool Spectrum::IsUpdated ( ) const
inlinevirtual

Retourne vrai si le spectre n'a pas besoin d'être mis à jour.

Reimplemented in SpecOper.

References status.

Referenced by GEVPad::Update(), and Write().

void Spectrum::SetSelectionBit ( const bool  b = true)
inlinevirtual

Positionne le bit de sélection du spectre.

Parameters
bétat du bit de sélection

References status.

void Spectrum::SetSaveSelectionBit ( const bool  b = true)
inlinevirtual

Positionne le bit de sélection pour sauvegarde du spectre.

Parameters
bétat du bit de sélection

References status.

Referenced by GEVSpectrumEditor::SaveSelected().

void Spectrum::SetDeleteSelectionBit ( const bool  b = true)
inlinevirtual

Positionne le bit de sélection pour suppression du spectre.

Parameters
bétat du bit de sélection

References status.

bool Spectrum::GetSelectionBit ( ) const
inlinevirtual

Retourne vrai si le bit de sélection du spectre est actif.

References status.

bool Spectrum::GetSaveSelectionBit ( ) const
inlinevirtual

Retourne vrai si le bit de sélection pour sauvegarde du spectre est actif. Ce bit est remis à zéro lors d'une sauvegarde.

References status.

bool Spectrum::GetDeleteSelectionBit ( ) const
inlinevirtual

Retourne vrai si le bit de sélection pour suppression du spectre est actif.

References status.

void Spectrum::SetSaveProtection ( const bool  b = true)
inlinevirtual

Positionne le bit de protection contre la sauvegarde du spectre. Cette protection n'est effective que dans les sauvegardes de listes.

Parameters
bétat du bit de protection

References status.

Referenced by SpectrumList::SetSpectrumSaveProtection(), SpecHCumul::SpecHCumul(), SpecHisto::SpecHisto(), SpecHMean::SpecHMean(), SpecHSum::SpecHSum(), SpecUser1D::SpecUser1D(), and SpecUser2D::SpecUser2D().

void Spectrum::SetDeleteProtection ( const bool  b = true)
inlinevirtual

Positionne le bit de protection contre la suppression du spectre. Cette protection n'est effective que dans les supressions de listes.

Parameters
bétat du bit de protection

References status.

Referenced by SpectrumList::SetSpectrumDeleteProtection(), SpecHisto::SpecHisto(), SpecUser1D::SpecUser1D(), and SpecUser2D::SpecUser2D().

bool Spectrum::GetSaveProtection ( ) const
inlinevirtual

Retourne l'état du bit de protection contre la sauvegarde du spectre.

References status.

Referenced by GEVSpectrumEditor::SaveAll(), GEVPageManager::SaveAnalysis(), GEVSpectrumEditor::SaveSelected(), GEVSpectrumEditor::SelectionChanged(), SpecHMean::SpecHMean(), and Write().

bool Spectrum::GetDeleteProtection ( ) const
inlinevirtual

Retourne l'état du bit de protection contre la suppression du spectre.

References status.

Referenced by GEVSpectrumEditor::Delete(), EventManager::RemoveAllSpectra(), and GEVSpectrumEditor::SelectionChanged().

bool Spectrum::FilterCheck ( ) const
inline

Retourne vrai si le filtre associé au spectre est valide.

References filter_ptr.

Referenced by Increment().

string Spectrum::StatusString ( ) const
virtual

Retourne une chaîne décrivant l'état du spectre.

References IsStarted(), IsSuspended(), SPECTRUM_STATUS_TXT_STARTED, SPECTRUM_STATUS_TXT_STOPPED, and SPECTRUM_STATUS_TXT_SUSPENDED.

void Spectrum::Reset ( )
virtual

Remise à zéro du spectre.

Reimplemented in SpecExtern, SpecHMean, and SpecHisto.

References histo_ptr, and status.

Referenced by EventManager::ResetSpectrum().

void Spectrum::ClearEvent ( )
inlinevirtual

Function called at the beginning of an event. For most spectra types, the function does nothing.

Reimplemented in SpecTrace.

void Spectrum::Increment ( )
inlinevirtual

Fonction générique pour l'incrémentation d'un spectre: la fonction vérifie que le spectre et démarré et l'état des filtres.

Reimplemented in SpecOper, and SpecCalc.

References FilterCheck(), IncrementSpectrum(), IsIncremented(), and status.

void Spectrum::IncrementFast ( )
inlineprotectedvirtual

Fonction générique pour l'incrémentation d'un spectre: la méthode vérifie que le spectre et démarré et l'état des filtres. Cette fonction est plus rapide que Increment, car les filtres ne sont pas recalculés

References FilterFastCheck(), IncrementSpectrum(), IsIncremented(), and status.

void Spectrum::Update ( )
inlinevirtual

Fonction générique pour la mise à jour des spectres (pour les spetres calculés). Par défaut, cette fonction ne fait rien: à définir dans les classes dérivées.

Reimplemented in SpecDiv, SpecInv, SpecSumN, SpecSum, SpecProd, SpecNorm, and SpecSqrt.

References status.

Referenced by GEVPage::PadMenuFitSelectSpec1D(), GEVPad::Update(), and Write().

bool Spectrum::FilterFastCheck ( ) const
inlineprotected

Retourne la valeur précalculée du filtre, pour l'incrémentation automatique plus rapide.

References filter_local, filter_ptr, and FilterFastLocalCheck().

Referenced by IncrementFast().

bool Spectrum::FilterFastLocalCheck ( ) const
protected

Retourne la valeur précalculée du filtre, pour l'incrémentation automatique plus rapide, dans le cas d'un filtre local.

References filter_ptr, FilterBaseMultiOp::GetFListPtr(), and Filter::GetInternalValue().

Referenced by FilterFastCheck().

SpectrumFamily * Spectrum::GetFamilyPtr ( )
inlinevirtual

Retourne le pointeur sur la famille du spectre, ou NULL si elle n'est pas définie.

References family_ptr.

Referenced by GEVSpectrumEditor::Info(), GEVSpectrumSelectionWidget::SelectFamilyClicked(), GEVSpectrumEditor::SelectionChanged(), and GEVSpectrumSelectionWidget::UnselectFamilyClicked().

const SpectrumFamily * Spectrum::GetFamilyPtr ( ) const
inlinevirtual

Retourne le pointeur sur la famille du spectre, ou NULL si elle n'est pas définie.

References family_ptr.

bool Spectrum::SetFamily ( SpectrumFamily family)
virtual

Ajoute un spectre dans une famille.

Parameters
familypointeur sur la famille

References SpectrumFamily::AddSpectrum().

void Spectrum::ResetFamily ( )
virtual

Retire le spectre de sa famille.

References family_ptr.

Referenced by ~Spectrum().

const Filter * Spectrum::GetFilterPtr ( )
inlinevirtual

Retourne le pointeur sur le filtre conditionnant le spectre, ou NULL si le spectre n'est pas conditionné.

References filter_ptr.

Referenced by GEVPad::IncrementContourCounts(), and GEVSpectrumEditor::Info().

void Spectrum::SetFilter ( const Filter f)
inlinevirtual

Applique un filtre comme condition sur un spectre. Si un filtre était préalablement défini, il est retiré au préalable.

Parameters
fpointeur sur le filtre

References ResetFilter().

Referenced by EventManager::FilterSpectrum(), and SetFilters().

bool Spectrum::SetFilters ( const string &  filt_names,
const EventManager evt_mgr 
)
virtual

Associe une série de filtres à un spectre. S'il n'y a qu'un filtre dans la liste de nom, le filtre est directement associé, et s'il y en a plusieurs, un filtre intermédiaire est créé localement (il n'apparaît pas dans la liste des filtres).

Parameters
filt_namesnoms des filtres (séparés par des virgules ou des point-virgules)
evt_mgrgestionnaire d'événements (pour liste des filtres)

References FilterBaseMultiOp::CountFilterNames(), filter_local, EventManager::GetFilterPtr(), ResetFilter(), and SetFilter().

Referenced by GEVSpectrumEditor::Copy(), and SpectrumList::Load().

void Spectrum::ResetFilter ( )
virtual

Retire la condition (filtre) sur un spectre.

References filter_local, and filter_ptr.

Referenced by SetFilter(), and SetFilters().

bool Spectrum::UsesContour ( const RContour *  ct,
const bool  rec = true 
) const
virtual

Teste si le spectre utilise un contour dans son filtre.

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

References filter_ptr, and Filter::UsesContour().

bool Spectrum::UsesFilter ( const Filter f,
const bool  rec = true 
) const
virtual

Teste si le spectre utilise un filtre.

Parameters
fpointeur sur le filtre
recindique si on doit chercher récursivement dans les filtres

References filter_ptr, and Filter::UsesFilter().

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

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 in SpecOper.

Referenced by GEVSpectrumEditor::CheckSelectionMoveBottom(), GEVSpectrumEditor::CheckSelectionMoveDown(), GEVSpectrumEditor::CheckSelectionMoveTop(), GEVSpectrumEditor::CheckSelectionMoveUp(), SpectrumList::MoveBottom(), SpectrumList::MoveDown(), SpectrumList::MoveTop(), and SpectrumList::MoveUp().

bool Spectrum::Compare ( const Spectrum spec1,
const Spectrum spec2,
const UInt_t  flags 
)
static

Fonction qui compare les caractéristiques de deux spectres. Ces caractéristiques sont définies dans l'énumération SpectrumListCompare. Si toutes les caractéristiques demandées sont indentiques, la fonction retourne vrai.

Parameters
spec1pointeur sur le premier spectre
spec2pointeur sur le second spectre
flagsbits des caractéristiques à comparer

References Dimension(), TypeId(), Spec1Dim::Xdim(), Spec1Dim::Xmax(), Spec1Dim::Xmin(), Spec2Dim::Ydim(), Spec2Dim::Ymax(), Spec2Dim::Ymin(), Spec3Dim::Zdim(), Spec3Dim::Zmax(), and Spec3Dim::Zmin().

Referenced by GEVSpectrumFitErrorRequester::CheckErrSpec(), GEVSpectrumCreator::CheckInputs(), SpecOper2::CheckOperands(), SpecOperN::CheckOperands(), SpectrumList::Compare(), Compare(), SpecProd::NewSpectrumDef(), SpecSum::NewSpectrumDef(), SpecDiv::NewSpectrumDef(), SpecDiv::SpecDiv(), SpecProd::SpecProd(), and SpecSum::SpecSum().

Int_t Spectrum::Compare ( const Spectrum spec1,
const Spectrum spec2 
)
static

Fonction qui compare les caractéristiques de deux spectres. Les bits correspondants aux caractéristiques identiques (voir énumération SpectrumListCompare) sont mis à 1 dans le résultat.

Parameters
spec1pointeur sur le premier spectre
spec2pointeur sur le second spectre

References Compare().

bool Spectrum::Compare ( const int  sp_num,
const Spectrum **  sp_tab,
const UInt_t  flags 
)
static

Fonction qui compare les informations d'une table de spectre: la fonction retourne vrai si toutes les données signalées par le masque binaire flags sont identiques.

Parameters
sp_numnombre de spectres dans le tableau
sp_tabtableau des pointeurs de spectres
flagsbits des caractéristiques à comparer

References Compare().

virtual int Spectrum::Compare ( const Spectrum spec) const
inlinevirtual

Redéfinition de la fonction pour GNamedListT (pour liste pouvant être triée). C'est le résultat de GNamed::Compare.

Parameters
specspectre à comparer
virtual string Spectrum::Type ( ) const
pure virtual
virtual const Param* Spectrum::GetXParamPtr ( ) const
inlinevirtual

Fonction qui renvoit le pointeur sur le paramètre X du spectre, ou NULL. Par défaut la fonction renvoit NULL, mais elle doit être surchargée par les classes dérivées définissant des spectres avec des paramètres.

Reimplemented in SpecTridim, SpecCumul, SpecBidim, SpecDistrib, and SpecMono.

Referenced by GEVSpectrumEditor::Copy(), and GEVPad::GetXParamPtr().

virtual const Param* Spectrum::GetYParamPtr ( ) const
inlinevirtual

Fonction qui renvoit le pointeur sur le paramètre Y du spectre, ou NULL s'il n'y a pas de paramètre Y pour le spectre. Par défaut la fonction renvoit NULL, mais elle doit être surchargée par les classes dérivées définissant des spectres avec des paramètres.

Reimplemented in SpecTridim, and SpecBidim.

Referenced by GEVSpectrumEditor::Copy(), GEVPad::GetYParamPtr(), and GEVPad::GetZParamPtr().

virtual const Param* Spectrum::GetZParamPtr ( ) const
inlinevirtual

Fonction qui renvoit le pointeur sur le paramètre Z du spectre, ou NULL s'il n'y a pas de paramètre Z pour le spectre. Par défaut la fonction renvoit NULL, mais elle doit être surchargée par les classes dérivées définissant des spectres avec des paramètres.

Reimplemented in SpecTridim.

Referenced by GEVSpectrumEditor::Copy().

virtual Int_t Spectrum::GetParamNumber ( ) const
inlinevirtual

Fonction qui renvoit le nombre de paramètres associés au spectre. Il ne s'agit pas de sa dimension: par exemple, la classe SpecCumul définit un spectre de dimension 2, mais avec 1 seul paramètre. Par défaut la fonction renvoit 0, mais elle doit être surchargée par les classes dérivées définissant des spectres avec des paramètres.

Reimplemented in SpecTridim, SpecCalc, SpecBidim, SpecCumul, SpecDistrib, and SpecMono.

Referenced by GEVPad::GetParamNumber().

virtual string Spectrum::Definition ( ) const
pure virtual

Méthode virtuelle pure qui retourne une chaîne décrivant un spectre.

Implemented in SpecOper, SpecUser2D, SpecUser1D, SpecHCumul, SpecHSum, SpecCumul, SpecTridim, SpecBidim, SpecDistrib, SpecExtern, SpecMono, and SpecHisto.

void Spectrum::Rename ( const string &  name,
const string &  name_x = "",
const string &  name_y = "",
const string &  name_z = "" 
)
virtual
virtual void Spectrum::IncrementSpectrum ( )
inlineprotectedvirtual

Fonction par défaut pour l'incrémentation automatique du spectre à partir du paramètre associé. Cette fonction doit être surchargée pour les classes dérivées.

Reimplemented in SpecOper, SpecCalc, SpecCumul, SpecHMean, SpecTrace, SpecTridim, SpecBidim, SpecDistrib, SpecHCumul, SpecHSum, and SpecMono.

Referenced by Increment(), and IncrementFast().

Spectrum::ClassDef ( Spectrum  ,
 
)

Définition à usage de ROOT...

Member Data Documentation

SpectrumFamily** Spectrum::family_ptr
protected

Indicateur de famille du spectre (c'est un pointeur de pointeur pour que la famille de spectre puisse être modifiée dans un spectre déclaré constant)

Referenced by SpectrumFamily::AddSpectrum(), GetFamilyName(), GetFamilyPtr(), SpectrumFamily::RemoveSpectrum(), ResetFamily(), Spectrum(), and ~Spectrum().


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