Analysis  version 7.0 - august 2014
Data Class Referenceabstract

#include <Data.hh>

Inheritance diagram for Data:
DataBad DataI2 DataI4 DataI8 DataR4 DataR8 DataUI2 DataUI4 DataUI8

Public Member Functions

 Data ()
 
 Data (const Data &d)
 
virtual ~Data ()
 
virtual Dataoperator= (const Data &d)
 
virtual Dataoperator= (const Int2 &d)=0
 
virtual Dataoperator= (const U_Int2 &d)=0
 
virtual Dataoperator= (const Int4 &d)=0
 
virtual Dataoperator= (const U_Int4 &d)=0
 
virtual Dataoperator= (const Int8 &d)=0
 
virtual Dataoperator= (const U_Int8 &d)=0
 
virtual Dataoperator= (const Real4 &d)=0
 
virtual Dataoperator= (const Real8 &d)=0
 
virtual u_int TypeId () const =0
 
virtual string Type () const =0
 
virtual string String () const =0
 
virtual string Text () const
 
virtual string FullText () const
 
template<class T >
 operator T (void) const
 
virtual int SetValue (const U_Int2 &val)=0
 
virtual int SetValue (const U_Int4 &val)=0
 
virtual int SetValue (const U_Int8 &val)=0
 
virtual int SetValue (const Int2 &val)=0
 
virtual int SetValue (const Int4 &val)=0
 
virtual int SetValue (const Int8 &val)=0
 
virtual int SetValue (const Real4 &val)=0
 
virtual int SetValue (const Real8 &val)=0
 
virtual int GetValue (U_Int2 &val) const =0
 
virtual int GetValue (U_Int4 &val) const =0
 
virtual int GetValue (U_Int8 &val) const =0
 
virtual int GetValue (Int2 &val) const =0
 
virtual int GetValue (Int4 &val) const =0
 
virtual int GetValue (Int8 &val) const =0
 
virtual int GetValue (Real4 &val) const =0
 
virtual int GetValue (Real8 &val) const =0
 
template<class T >
Value ()
 
int Status () const
 
bool IsValid () const
 
void SetBad ()
 
string CastInfo ()
 
 ClassDef (Data, 0)
 

Static Public Member Functions

static void SetLen (u_int l)
 
static void SetPrec (u_int p)
 
static void SetFill (char c)
 
static void SetFill (const string &str)
 
static DataBad ()
 

Protected Attributes

int status
 Indicateur de l'état des conversions de types.
 

Static Protected Attributes

static u_int len = 0
 Longueur d'affichage.
 
static u_int prec = 6
 Précision d'affichage.
 
static char fill = ' '
 Caractère de remplissage.
 
static string undef = "?"
 Chaîne pour l'écriture de donnée non valide.
 

Private Member Functions

 GObjectV (Data)
 

Friends

ostream & operator<< (ostream &os, const Data &d)
 

Detailed Description

Classe générique (abstraite) pour les types de données. Ce sont les classes dérivées qui peuvent être instanciées: elles ont un type de données spécifique, qui ne peut pas être modifié !

Note
:
  • Les opérateurs d'affectation de valeurs numériques sont virtuels.
  • Pour les comparaison, il faut effectuer un cast.
  • Les objets dérivés de la classe Data n'ont pas vocation à être déclarés constant, parce qu'ils peuvent être modifiés (mot d'état) lorsqu'ils sont copiés ou affectés.
  • Les méthodes de cast vers les types numériques sont définis une fois pour toutes par une méthode patron de la classe de base Data, par un appel aux méthodes virtuelles GetValue.
  • Les méthodes GetValue, SetValue et l'opérateur d'affection doivent être définis dans les classes dérivées pour l'ensemble des types de valeurs considérés.

Les objets de la classe Data (et de ses dérivées) gèrent automatiquement les changements de type. Dans ce cas, le mot d'état (status) rend compte des difficultés ou impossibilités de conversions.

Constructor & Destructor Documentation

Data::Data ( )

Constructeur par défaut: il ne fait rien.

References status.

Data::Data ( const Data d)

Constructeur de recopie: la donnée est convertie et affectée.

Parameters
ddonnée à recopier

References status.

Data::~Data ( )
virtual

Destructeur

Member Function Documentation

Data::GObjectV ( Data  )
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.
static void Data::SetLen ( u_int  l)
inlinestatic

Méthode qui fixe la longueur d'écriture en format texte.

Parameters
llongueur du format

References len, and undef.

static void Data::SetPrec ( u_int  p)
inlinestatic

Méthode qui fixe la précision d'écriture en format texte.

Parameters
pprécision du format

References prec.

static void Data::SetFill ( char  c)
inlinestatic

Méthode qui fixe le caractère de remplissage en format texte.

Parameters
ccaractère de remplissage

References fill.

static void Data::SetFill ( const string &  str)
inlinestatic

Méthode qui fixe la chaîne de caractères pour l'écriture d'une donnée non valide.

Parameters
strchaîne à écrire

References undef.

Data & Data::Bad ( )
static

Retourne une instance de donnée non valide (en fait le singleton de la classe DataBad.

References bad_data.

virtual Data& Data::operator= ( const Data d)
inlinevirtual

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

Parameters
ddonnée à affecter

Reimplemented in DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, DataUI8, and DataBad.

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

Opérateur d'affectation d'une valeur de type entier 16 bits signé.

Parameters
ddonnée à affecter

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

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

Opérateur d'affectation d'une valeur de type entier 16 bits non signé.

Parameters
ddonnée à affecter

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

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

Opérateur d'affectation d'une valeur de type entier 32 bits signé.

Parameters
ddonnée à affecter

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

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

Opérateur d'affectation d'une valeur de type entier 32 bits non signé.

Parameters
ddonnée à affecter

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

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

Opérateur d'affectation d'une valeur de type entier 64 bits signé.

Parameters
ddonnée à affecter

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

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

Opérateur d'affectation d'une valeur de type entier 64 bits non signé.

Parameters
ddonnée à affecter

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

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

Opérateur d'affectation d'une valeur de type réel 32 bits.

Parameters
ddonnée à affecter

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

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

Opérateur d'affectation d'une valeur de type réel 64 bits.

Parameters
ddonnée à affecter

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual u_int Data::TypeId ( ) const
pure virtual

Méthode virtuelle pure qui renvoit un identificateur de type de données.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

Referenced by ParamArray::_AllocArray(), Param::_AllocData(), and ParamMultihit::GetDataTypeId().

virtual string Data::Type ( ) const
pure virtual
virtual string Data::String ( ) const
pure virtual

Méthode virtuelle pure qui renvoit une chaîne indiquant la valeur.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

Referenced by Event::Dump(), operator<<(), and Text().

virtual string Data::Text ( ) const
inlinevirtual

Méthode qui renvoit une chaîne indiquant le type de données et la valeur.

References String(), and Type().

Referenced by FullText(), and ParamMultihit::ValueString().

virtual string Data::FullText ( ) const
inlinevirtual

Méthode qui renvoit une chaîne indiquant le type de données, la valeur et le mot d'état.

References status, and Text().

Referenced by ParamMultihit::ValueFullString().

template<class T >
Data::operator T ( void  ) const
inline

Patron pour opérateur de cast vers différents types de données.

References GetValue().

virtual int Data::SetValue ( const U_Int2 val)
pure virtual

Mise à valeur à l'aide d'un entier 16 bits non signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::SetValue ( const U_Int4 val)
pure virtual

Mise à valeur à l'aide d'un entier 32 bits non signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::SetValue ( const U_Int8 val)
pure virtual

Mise à valeur à l'aide d'un entier 64 bits non signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::SetValue ( const Int2 val)
pure virtual

Mise à valeur à l'aide d'un entier 16 bits signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::SetValue ( const Int4 val)
pure virtual

Mise à valeur à l'aide d'un entier 32 bits signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::SetValue ( const Int8 val)
pure virtual

Mise à valeur à l'aide d'un entier 64 bits signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::SetValue ( const Real4 val)
pure virtual

Mise à valeur à l'aide d'un réel 32 bits. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::SetValue ( const Real8 val)
pure virtual

Mise à valeur à l'aide d'un réel 64 bits. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::GetValue ( U_Int2 val) const
pure virtual
virtual int Data::GetValue ( U_Int4 val) const
pure virtual

Affectation d'une variable de type entier 32 bits non signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::GetValue ( U_Int8 val) const
pure virtual

Affectation d'une variable de type entier 64 bits non signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::GetValue ( Int2 val) const
pure virtual

Affectation d'une variable de type entier 16 bits signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::GetValue ( Int4 val) const
pure virtual

Affectation d'une variable de type entier 32 bits signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::GetValue ( Int8 val) const
pure virtual

Affectation d'une variable de type entier 64 bits signé. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::GetValue ( Real4 val) const
pure virtual

Affectation d'une variable de type réel 32 bits. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

virtual int Data::GetValue ( Real8 val) const
pure virtual

Affectation d'une variable de type réel 64 bits. La valeur en retour est le statut de conversion.

Implemented in DataBad, DataI2, DataI4, DataI8, DataR4, DataR8, DataUI2, DataUI4, and DataUI8.

template<class T >
T Data::Value ( )
inline

Patron pour opérateu de cast vers différents types de données qui met à jour le mot d'état (après conversion de type).

References GetValue(), and status.

int Data::Status ( ) const
inline

Méthode qui renvoit le mot d'état d'une donnée. Si le mot d'état est négatif, c'est que la dernière affectation a donné lieu à une mauvaise conversion.

References status.

Referenced by DataI2::DataI2(), DataI4::DataI4(), DataI8::DataI8(), DataR4::DataR4(), DataR8::DataR8(), DataUI2::DataUI2(), DataUI4::DataUI4(), DataUI8::DataUI8(), DataI4::operator=(), DataR4::operator=(), DataI2::operator=(), DataUI4::operator=(), DataI8::operator=(), DataUI8::operator=(), DataR8::operator=(), and DataUI2::operator=().

void Data::SetBad ( )
inline

Méthode qui positionne le bit DATA_BAD du mot d'état.

References DATA_BAD, and status.

Referenced by ParamSingle::Reset().

string Data::CastInfo ( )

Retourne une indication textuelle de l'état de conversion.

References DATA_BAD_CAST, DATA_BIT_CUT, DATA_INVALID, DATA_SIGN_FLIP, DATA_UNKNOWN, and status.

Data::ClassDef ( Data  ,
 
)

Définition à usage de ROOT...

Friends And Related Function Documentation

ostream& operator<< ( ostream &  os,
const Data d 
)
friend

Opérateur de direction d'une donnée vers un flux de sortie.

Parameters
osflux de sortie
ddonnée à écrire

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