| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Private Attributes | List of all members
GaudiAlg::ID Class Reference

ID class for Histogram and Ntuples. More...

`#include <GaudiAlg/GaudiHistoID.h>`

Collaboration diagram for GaudiAlg::ID:
[legend]

## Public Types
typedef int | NumericID
| type for internal numeric ID
typedef std::string | LiteralID
| type for internal literal ID

## Public Member Functions
| ID (const NumericID id=-1)
| Implicit constructor from a numeric ID.
| ID (const LiteralID &id)
| Implicit constructor from a literal ID.
| ID (const char *id)
| Implicit constructor from a literal ID.
| ~ID ()
| Destructor.
bool | numeric () const
| Is this ID numeric.
bool | literal () const
| Is this ID numeric.
bool | undefined () const
| Is this ID undefined.
const LiteralID & | literalID () const
| Returns the ID as a LiteralID.
NumericID | numericID () const
| Returns the numerical ID.
GAUDI_API LiteralID | idAsString () const
| Return ID as string, for both numeric and literal IDs.
| operator std::string () const
| cast operator to std::string
bool | operator== (const ID &id) const
| Implement the operator == Implementation depends on type of ID.
bool | operator!= (const ID &id) const
| Implement the != operator, using the == operator.
bool | operator< (const ID &id) const
| Implement the operator < Implementation depends on type of ID.
GAUDI_API std::ostream & | fillStream (std::ostream &s) const
bool | operator! () const
| good ID?
size_t | hash () const
| return hash value (for python)
size_t | __hash__ () const
| return hash value (for python)

## Private Attributes
NumericID | m_nID
| Internal numeric ID.
LiteralID | m_aID
| Internal alpha-numeric ID.
size_t | m_hash
| the hash value of ID

## Detailed Description

ID class for Histogram and Ntuples.

Internally handles both numeric and string like IDs

Author
  Chris Jones Chris.nosp@m.toph.nosp@m.er.Ro.nosp@m.b.Jo.nosp@m.nes@c.nosp@m.ern..nosp@m.ch

Date
  2005-08-12

Definition at line 46 of file GaudiHistoID.h.

## Member Typedef Documentation

typedef std::string GaudiAlg::ID::LiteralID

type for internal literal ID

Definition at line 53 of file GaudiHistoID.h.

typedef int GaudiAlg::ID::NumericID

type for internal numeric ID

Definition at line 51 of file GaudiHistoID.h.

## Constructor & Destructor Documentation

GaudiAlg::ID::ID | ( | const NumericID | id = `-1` | ) |

Implicit constructor from a numeric ID.

Definition at line 29 of file GaudiHistoID.cpp.

: m_nID ( id )
, m_aID ( "" )
, m_hash ( boost::hash_value ( id ) )
{}

GaudiAlg::ID::ID | ( | const LiteralID & | id | ) |

Implicit constructor from a literal ID.

Definition at line 37 of file GaudiHistoID.cpp.

: m_nID ( -1 )
, m_aID ( id )
, m_hash ( boost::hash_value ( id ) )
{}

GaudiAlg::ID::ID | ( | const char * | id | ) |

Implicit constructor from a literal ID.

Definition at line 45 of file GaudiHistoID.cpp.

: m_nID ( -1 )
, m_aID ( id )
, m_hash ( 0 )
{ m_hash = boost::hash_value ( m_aID ) ; }

GaudiAlg::ID::~ID | ( |  | ) |
| inline

Destructor.

Definition at line 64 of file GaudiHistoID.h.

{} ;

## Member Function Documentation

size_t GaudiAlg::ID::__hash__ | ( |  | ) | const
| inline

return hash value (for python)

Definition at line 119 of file GaudiHistoID.h.

{ return hash () ; }

std::ostream & GaudiAlg::ID::fillStream | ( | std::ostream & | s | ) | const

Definition at line 60 of file GaudiHistoID.cpp.

{
if ( numeric() ) { s << numericID() ; }
else if ( literal() ) { s << literalID() ; }
else { s << "UNDEFINED" ; }
return s ;
}

size_t GaudiAlg::ID::hash | ( |  | ) | const
| inline

return hash value (for python)

Definition at line 117 of file GaudiHistoID.h.

{ return m_hash ; }

GaudiAlg::ID::LiteralID GaudiAlg::ID::idAsString | ( |  | ) | const

Return ID as string, for both numeric and literal IDs.

Definition at line 51 of file GaudiHistoID.cpp.

{
std::ostringstream s ;
fillStream ( s ) ;
return s.str() ;
}

bool GaudiAlg::ID::literal | ( |  | ) | const
| inline

Is this ID numeric.

Definition at line 68 of file GaudiHistoID.h.

{ return !m_aID.empty() ; }

const LiteralID& GaudiAlg::ID::literalID | ( |  | ) | const
| inline

Returns the ID as a LiteralID.

Definition at line 72 of file GaudiHistoID.h.

{ return m_aID; }

bool GaudiAlg::ID::numeric | ( |  | ) | const
| inline

Is this ID numeric.

Definition at line 66 of file GaudiHistoID.h.

{ return -1 != m_nID ; }

NumericID GaudiAlg::ID::numericID | ( |  | ) | const
| inline

Returns the numerical ID.

Definition at line 74 of file GaudiHistoID.h.

{ return m_nID; }

GaudiAlg::ID::operator std::string | ( |  | ) | const
| inline

cast operator to std::string

Definition at line 78 of file GaudiHistoID.h.

{ return idAsString () ; }

bool GaudiAlg::ID::operator! | ( |  | ) | const
| inline

good ID?

Definition at line 112 of file GaudiHistoID.h.

{ return undefined() ; }

bool GaudiAlg::ID::operator!= | ( | const ID & | id | ) | const
| inline

Implement the != operator, using the == operator.

Definition at line 92 of file GaudiHistoID.h.

{ return ! ( *this == id ) ; }

bool GaudiAlg::ID::operator< | ( | const ID & | id | ) | const
| inline

Implement the operator < Implementation depends on type of ID.

Returns
  boolean indicating the order of the IDs

Definition at line 97 of file GaudiHistoID.h.

{
return
//hash () < id.hash () ? true :
//hash () > id.hash () ? false :
numeric () && id.numeric() ? numericID() < id.numericID() :
literal () && id.literal() ? literalID() < id.literalID() :
idAsString () < id.idAsString() ;
}

bool GaudiAlg::ID::operator== | ( | const ID & | id | ) | const
| inline

Implement the operator == Implementation depends on type of ID.

Returns
  boolean indicating if the IDs are equal

Definition at line 83 of file GaudiHistoID.h.

{
return
hash () != id.hash () ? false :
numeric () && id.numeric () ? id.numericID () == numericID () :
literal () && id.literal () ? id.literalID () == literalID () :
idAsString () == id.idAsString() ;
}

bool GaudiAlg::ID::undefined | ( |  | ) | const
| inline

Is this ID undefined.

Definition at line 70 of file GaudiHistoID.h.

{ return !numeric() && !literal(); }

## Member Data Documentation

LiteralID GaudiAlg::ID::m_aID
| private

Internal alpha-numeric ID.

Definition at line 126 of file GaudiHistoID.h.

size_t GaudiAlg::ID::m_hash
| private

the hash value of ID

Definition at line 131 of file GaudiHistoID.h.

NumericID GaudiAlg::ID::m_nID
| private

Internal numeric ID.

Definition at line 124 of file GaudiHistoID.h.

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

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiAlg/GaudiAlg/GaudiHistoID.h
- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v25r0/GaudiAlg/src/lib/GaudiHistoID.cpp