Analysis  version 7.0 - august 2014
Param Class Referenceabstract

#include <Param.hh>

Inheritance diagram for Param:
ParamArray ParamMultihit ParamSingle

Public Member Functions

 Param (const string &par_name="unnamed")
 
 Param (const Param &par)
 
Paramoperator= (const Param &par)
 
virtual ~Param ()
 
virtual Paramoperator= (const Data &d)=0
 
virtual Paramoperator= (const Int2 val)=0
 
virtual Paramoperator= (const U_Int2 val)=0
 
virtual Paramoperator= (const Int4 val)=0
 
virtual Paramoperator= (const U_Int4 val)=0
 
virtual Paramoperator= (const Int8 val)=0
 
virtual Paramoperator= (const U_Int8 val)=0
 
virtual Paramoperator= (const Real4 val)=0
 
virtual Paramoperator= (const Real8 val)=0
 
virtual operator Data & () const =0
 
virtual operator Int2 () const =0
 
virtual operator U_Int2 () const =0
 
virtual operator Int4 () const =0
 
virtual operator U_Int4 () const =0
 
virtual operator Int8 () const =0
 
virtual operator U_Int8 () const =0
 
virtual operator Real4 () const =0
 
virtual operator Real8 () const =0
 
virtual u_int TypeId () const
 
virtual string Type () const =0
 
virtual string InfoString () const =0
 
virtual string ValueString () const =0
 
virtual string ValueFullString () const =0
 
virtual string DataString () const =0
 
virtual string GetDataType () const =0
 
virtual u_int GetDataTypeId () const =0
 
virtual void Reset ()=0
 
virtual u_int Dimension () const =0
 
virtual const DataGet () const =0
 
virtual Dataoperator[] (u_int index) const =0
 
virtual const DataGetDefaultData ()
 
virtual void SetDefaultData (const Data &d)
 
virtual bool First () const =0
 
virtual bool Last () const =0
 
virtual bool Next () const =0
 
virtual bool Previous () const =0
 
 ClassDef (Param, 0)
 

Protected Member Functions

Data_AllocData (const Data &)
 

Protected Attributes

u_int status
 Mot d'état du paramètre (non implémenté)
 
Datadef_value_ptr
 Pointeur sur la valeur par défaut du paramètre.
 

Private Types

enum  PTypes { typeUndefined = 0, typeSingle = 1, typeArray = 2, typeMultihit = 3 }
 Identification des types de paramètres.
 

Private Member Functions

 GObjectV (Param)
 

Detailed Description

C'est une classe virtuelle pure qui est la classe générique pour les paramètres d'un événement. Les classes de paramètres sont:

  • ParamSingle paramètre simple auquel est associé une seule valeur
  • ParamArray tableau avec un nombre fixé de valeurs
  • ParamMultihit liste avec un nombre variable de valeurs
Note
L'affectation d'un type de base ou d'une instance Data à un paramètre ne modifie pas le type du paramètre (un cast est effectué sur la valeur).

Le mot d'état du paramètre indique:

  • si au moins une valeur à été affectée au paramètre

La bibliothèque Event nécessite la bibliothèque Data, mais la réciproque est fausse. Afin de garder cette indépendance de la bibliothèque Data, il n'y a pas d'opérateur d'affectation d'une instance Param vers une instance Data.

Comme l'opérateur d'affectation ne peut pas être redéfini hors de la définition de la classe Data (opérateur à 2 opérandes déclaré dans Param.hh):

DataI2 & operator = ( DataI2 &d, const Param &p )
{ return (d = p.Get()) ; }
*

il faudrait alors déclarer l'opérateur dans la classe Data (opérateur virtuel pur), et le définir dans les classes dérivées:

dans Data

Data & Data::operator = ( const Param &p ) = 0;
*

et dans DataI2 (par exemple)

{ return (*this = p.Get()); }
*

La bibliothèque ne pourrait plus exister sans la déclaration de la classe Param de la bibliothèque Event.

Il est toutefois possible d'affecter une donnée de type Data à partir d'une instance Param, en appelant la méthode Get(), par exemple:

DataI2 i;
Param p("mon_parametre", (Real4) 15.6);
i = p.Get() // bien sûr, dans ce cas, il y a un cast
*

Constructor & Destructor Documentation

Param::Param ( const string &  par_name = "unnamed")
inline

Constructeur: le nom de paramètre doit être spécifié.

Parameters
par_namenom du paramètre

References def_value_ptr, and status.

Param::Param ( const Param par)
inline

Constructeur de recopie.

Parameters
parparamètre à copier

References def_value_ptr, and status.

virtual Param::~Param ( )
inlinevirtual

Destructeur

References def_value_ptr.

Member Function Documentation

Param::GObjectV ( Param  )
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.
Param& Param::operator= ( const Param par)
inline

Opérateur d'affectation.

Parameters
parparamètre à affecter

References _AllocData(), def_value_ptr, and status.

virtual Param& Param::operator= ( const Data d)
pure virtual

Opérateur d'affectation d'une donnée.

Parameters
ddonnée à affecter

Implemented in ParamArray, ParamMultihit, and ParamSingle.

virtual Param& Param::operator= ( const Int2  val)
pure virtual

Opérateur d'affectation d'un entier 16 bits signé.

Parameters
valvaleur à affecter

Implemented in ParamArray, ParamMultihit, and ParamSingle.

virtual Param& Param::operator= ( const U_Int2  val)
pure virtual

Opérateur d'affectation d'un entier 16 bits non signé.

Parameters
valvaleur à affecter

Implemented in ParamArray, ParamMultihit, and ParamSingle.

virtual Param& Param::operator= ( const Int4  val)
pure virtual

Opérateur d'affectation d'un entier 32 bits signé.

Parameters
valvaleur à affecter

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param& Param::operator= ( const U_Int4  val)
pure virtual

Opérateur d'affectation d'un entier 32 bits non signé.

Parameters
valvaleur à affecter

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param& Param::operator= ( const Int8  val)
pure virtual

Opérateur d'affectation d'un entier 64 bits signé.

Parameters
valvaleur à affecter

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param& Param::operator= ( const U_Int8  val)
pure virtual

Opérateur d'affectation d'un entier 64 bits non signé.

Parameters
valvaleur à affecter

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param& Param::operator= ( const Real4  val)
pure virtual

Opérateur d'affectation d'un réel 32 bits.

Parameters
valvaleur à affecter

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param& Param::operator= ( const Real8  val)
pure virtual

Opérateur d'affectation d'un réel 64 bits.

Parameters
valvaleur à affecter

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param::operator Data & ( ) const
pure virtual

Opérateur de cast une donnée générique.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param::operator Int2 ( ) const
pure virtual

Opérateur de cast un entier 32 bits signé.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param::operator U_Int2 ( ) const
pure virtual

Opérateur de cast un entier 32 bits non signé.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param::operator Int4 ( ) const
pure virtual

Opérateur de cast un entier 32 bits signé.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param::operator U_Int4 ( ) const
pure virtual

Opérateur de cast un entier 32 bits non signé.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param::operator Int8 ( ) const
pure virtual

Opérateur de cast un entier 64 bits signé.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param::operator U_Int8 ( ) const
pure virtual

Opérateur de cast un entier 64 bits non signé.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param::operator Real4 ( ) const
pure virtual

Opérateur de cast un réel 32 bits.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual Param::operator Real8 ( ) const
pure virtual

Opérateur de cast un réel 64 bits.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual string Param::Type ( ) const
pure virtual

Retourne le type de paramètre.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

Referenced by GEVFilterCreator::CheckInputs(), EventManager::GetParam(), and GEVTreeEditor::Info().

virtual string Param::InfoString ( ) const
pure virtual

Retourne chaîne de caractères avec le paramètre et son type.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

Referenced by GEVParamDisplayer::Button(), GEVRunBase::EventParamClicked(), and GEVParamDisplayer::GEVParamDisplayer().

virtual string Param::ValueString ( ) const
pure virtual

Retourne chaîne de caractères avec le paramètre et son type et la valeur courante.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual string Param::ValueFullString ( ) const
pure virtual

Retourne chaîne de caractères avec le paramètre et son type et la valeur courante avec son mot d'état.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual string Param::DataString ( ) const
pure virtual

Retourne chaîne de caractères avec le paramètre et son type et l'ensemble des données.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual string Param::GetDataType ( ) const
pure virtual

Retourne chaîne de caractères avec de donnée.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual u_int Param::GetDataTypeId ( ) const
pure virtual

Retourne l'identifiant du type de donnée.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

Referenced by TreeInfo::IncrementTree(), and TreeInfo::Init().

virtual void Param::Reset ( )
pure virtual

Remise à zéro du paramètre.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

Referenced by Event::AddParam().

virtual const Data& Param::Get ( ) const
pure virtual

Retourne la donnée courante.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

Referenced by operator<<(), GanilBuffer::ReadEbyedat(), and GanilBuffer::ReadEventDB().

virtual Data& Param::operator[] ( u_int  index) const
pure virtual

Opérateur []: renvoie la valeur de rang donnée. Cette méthode n'a de sens que pour un paramètre à valeurs multiples. Pour un paramètre simple, tout argument différent de zéro entraine une erreur.

Parameters
indexposition de la valeur dans le paramètre

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual const Data& Param::GetDefaultData ( )
inlinevirtual

Retourne la donnée par défault.

References def_value_ptr.

void Param::SetDefaultData ( const Data d)
virtual

Définit la donnée par défaut.

Parameters
ddonnée par défaut pour le paramètre
virtual bool Param::First ( ) const
pure virtual

Positionne le paramètre sur sa première donnée. Cette fonction n'a pas d'utilité pour les paramètres simples.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual bool Param::Last ( ) const
pure virtual

Positionne le paramètre sur sa dernière donnée. Cette fonction n'a pas d'utilité pour les paramètres simples.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual bool Param::Next ( ) const
pure virtual

Positionne le paramètre sur la dernière suivante. Cette fonction n'a pas d'utilité pour les paramètres simples.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

virtual bool Param::Previous ( ) const
pure virtual

Positionne le paramètre sur la dernière précédente. Cette fonction n'a pas d'utilité pour les paramètres simples.

Implemented in ParamMultihit, ParamArray, and ParamSingle.

Data * Param::_AllocData ( const Data d)
protected

Allocation d'une nouvelle donnée par recopie. Cette méthode est protégée et n'est utilisée que par les classes dérivée, dans les affectations et les cast.

Parameters
dinstance de la donnée à créer

References DATA_TYPE_INT2, DATA_TYPE_INT4, DATA_TYPE_INT8, DATA_TYPE_REAL4, DATA_TYPE_REAL8, DATA_TYPE_U_INT2, DATA_TYPE_U_INT4, DATA_TYPE_U_INT8, and Data::TypeId().

Referenced by ParamSingle::operator=(), ParamMultihit::operator=(), operator=(), ParamArray::ParamArray(), ParamMultihit::ParamMultihit(), and ParamSingle::ParamSingle().

Param::ClassDef ( Param  ,
 
)

Définition à usage de ROOT...


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