The Gaudi Framework  v38r1p1 (ae26267b)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Tuples Namespace Reference

Namespaces

 detail
 
 Local
 

Classes

class  ItemStore
 
class  Tuple
 A simple wrapper class over standard Gaudi NTuple::Tuple facility. More...
 
class  TupleColumn
 
class  TupleItem
 
class  TupleObj
 A simple wrapper class over standard Gaudi NTuple::Tuple facility. More...
 

Typedefs

typedef GaudiAlg::ID TupleID
 the actual type for N-Tuple identifier (HBOOK-style) More...
 

Enumerations

enum  Type { NTUPLE, EVTCOL }
 
enum  ErrorCodes : StatusCode::code_t {
  ErrorCodes::InvalidTuple = 100, ErrorCodes::InvalidColumn, ErrorCodes::InvalidOperation, ErrorCodes::InvalidObject,
  ErrorCodes::InvalidItem, ErrorCodes::TruncateValue = 200
}
 

Functions

template<class ITEM >
TupleColumn< ITEM > make_column (std::string name, const ITEM &item)
 helper function to create 'on-the-fly' the helper object Tuples::TupleColumn More...
 
template<class ITEM >
TupleColumn< const ITEM * > make_column (std::string name, const ITEM *item)
 helper function to create 'on-the-fly' the helper object Tuples::TupleColumn More...
 
template<class ITEM >
TupleColumn< ITEM * > make_column (std::string name, ITEM *item)
 helper function to create 'on-the-fly' the helper object Tuples::TupleColumn More...
 
template<class ITEM >
TupleColumn< ITEM > Column (std::string name, const ITEM &item)
 
template<class ITEM >
TupleColumn< const ITEM * > Column (std::string name, const ITEM *item)
 
template<class ITEM >
TupleColumn< ITEM * > Column (std::string name, ITEM *item)
 
template<class OWNER >
auto createTupleObj (const OWNER *owner, const std::string &name, NTuple::Tuple *tuple, const CLID &clid=CLID_ColumnWiseTuple, const Tuples::Type type=Tuples::NTUPLE)
 Templated helper functions allow to avoid heavy semantics of dealing with explicit type of class TupleObjImp. More...
 
std::size_t hash_value (TupleID const &b)
 

Detailed Description

General namespace for Tuple properties

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@i.nosp@m.tep..nosp@m.ru
Date
2004-01-23

helper namespace to collect useful definitions, types, constants and functions, related to manipulations with N-Tuples

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@l.nosp@m.app..nosp@m.in2p3.nosp@m..fr
Date
2005-08-06

Tuples.h GaudiAlg/Tuples.h helper namespace to collect useful definitions, types, constants and functions, related to manipulations with N-Tuples and event tag collections

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@i.nosp@m.tep..nosp@m.ru
Date
2004-01-23

Typedef Documentation

◆ TupleID

the actual type for N-Tuple identifier (HBOOK-style)

Definition at line 32 of file TupleID.h.

Enumeration Type Documentation

◆ ErrorCodes

Tuple error codes

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@i.nosp@m.tep..nosp@m.ru
Date
2004-01-23
Enumerator
InvalidTuple 
InvalidColumn 
InvalidOperation 
InvalidObject 
InvalidItem 
TruncateValue 

Definition at line 103 of file TupleObj.h.

104  InvalidTuple = 100,
108  InvalidItem,
109  TruncateValue = 200
110  };

◆ Type

the list of available types for ntuples

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@i.nosp@m.tep..nosp@m.ru
Date
2004-01-23
Enumerator
NTUPLE 
EVTCOL 

Definition at line 91 of file TupleObj.h.

91  {
92  NTUPLE, // Analysis nTuple
93  EVTCOL // Event Collection
94  };

Function Documentation

◆ Column() [1/3]

template<class ITEM >
TupleColumn<ITEM> Tuples::Column ( std::string  name,
const ITEM &  item 
)
inline

Definition at line 304 of file Tuple.h.

304  {
305  return make_column( std::move( name ), item );
306  }

◆ Column() [2/3]

template<class ITEM >
TupleColumn<const ITEM*> Tuples::Column ( std::string  name,
const ITEM *  item 
)
inline

Definition at line 309 of file Tuple.h.

309  {
310  return make_column( std::move( name ), item );
311  }

◆ Column() [3/3]

template<class ITEM >
TupleColumn<ITEM*> Tuples::Column ( std::string  name,
ITEM *  item 
)
inline

Definition at line 314 of file Tuple.h.

314  {
315  return make_column( std::move( name ), item );
316  }

◆ createTupleObj()

template<class OWNER >
auto Tuples::createTupleObj ( const OWNER *  owner,
const std::string name,
NTuple::Tuple tuple,
const CLID clid = CLID_ColumnWiseTuple,
const Tuples::Type  type = Tuples::NTUPLE 
)

Templated helper functions allow to avoid heavy semantics of dealing with explicit type of class TupleObjImp.

const GaudiAlgorithm* algo = ... ;
NTuple::Tuple* tuple = ... ;
TupleObj* obj = createTupleObj( algo , " my tuple 1 " , ntuple ) ;
const GaudiTool* tool = ... ;
NTuple::Tuple* tuple2 = ... ;
TupleObj* obj2 = createTupleObj( tool , " my tuple 2 " , ntuple2 ) ;
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@i.nosp@m.tep..nosp@m.ru
Date
2004-1-24

Definition at line 222 of file TupleDetail.h.

223  {
224  return detail::createTupleObj( detail::make_handler( owner, &OWNER::Error ),
225  detail::make_handler( owner, &OWNER::Warning ), name, tuple, clid, type );
226  }

◆ hash_value()

std::size_t Tuples::hash_value ( TupleID const &  b)
inline

Definition at line 33 of file TupleID.h.

33 { return b.hash(); }

◆ make_column() [1/3]

template<class ITEM >
TupleColumn<ITEM> Tuples::make_column ( std::string  name,
const ITEM &  item 
)
inline

helper function to create 'on-the-fly' the helper object Tuples::TupleColumn

Definition at line 283 of file Tuple.h.

283  {
284  return { std::move( name ), item };
285  }

◆ make_column() [2/3]

template<class ITEM >
TupleColumn<const ITEM*> Tuples::make_column ( std::string  name,
const ITEM *  item 
)
inline

helper function to create 'on-the-fly' the helper object Tuples::TupleColumn

Definition at line 291 of file Tuple.h.

291  {
292  return { std::move( name ), item };
293  }

◆ make_column() [3/3]

template<class ITEM >
TupleColumn<ITEM*> Tuples::make_column ( std::string  name,
ITEM *  item 
)
inline

helper function to create 'on-the-fly' the helper object Tuples::TupleColumn

Definition at line 299 of file Tuple.h.

299  {
300  return { std::move( name ), item };
301  }
Tuples::ErrorCodes::InvalidColumn
@ InvalidColumn
std::move
T move(T... args)
Tuples::EVTCOL
@ EVTCOL
Definition: TupleObj.h:93
Tuples::make_column
TupleColumn< ITEM * > make_column(std::string name, ITEM *item)
helper function to create 'on-the-fly' the helper object Tuples::TupleColumn
Definition: Tuple.h:299
Tuples::ErrorCodes::TruncateValue
@ TruncateValue
StatusCode::code_t
unsigned long code_t
type of StatusCode value
Definition: StatusCode.h:67
Tuples::detail::make_handler
ErrorHandler< OBJECT, FUNCTION > make_handler(const OBJECT *object, FUNCTION function)
Templated helper functions allow to avoid heavy semantics of dealing with explicit type of class Erro...
Definition: TupleDetail.h:198
Tuples::NTUPLE
@ NTUPLE
Definition: TupleObj.h:92
bug_34121.tool
tool
Definition: bug_34121.py:17
GaudiAlgorithm
Definition: GaudiAlgorithm.h:104
Tuples::ErrorCodes::InvalidObject
@ InvalidObject
Tuples::createTupleObj
auto createTupleObj(const OWNER *owner, const std::string &name, NTuple::Tuple *tuple, const CLID &clid=CLID_ColumnWiseTuple, const Tuples::Type type=Tuples::NTUPLE)
Templated helper functions allow to avoid heavy semantics of dealing with explicit type of class Tupl...
Definition: TupleDetail.h:222
gaudirun.type
type
Definition: gaudirun.py:160
GaudiAlg.TupleUtils.ntuple
def ntuple
Definition: TupleUtils.py:160
ConditionsStallTest.name
name
Definition: ConditionsStallTest.py:76
Tuples::ErrorCodes::InvalidTuple
@ InvalidTuple
NTuple::Tuple
Abstract base class which allows the user to interact with the actual N tuple implementation.
Definition: NTuple.h:387
Tuples::ErrorCodes::InvalidItem
@ InvalidItem
GaudiTool
Definition: GaudiTool.h:110
Tuples::ErrorCodes::InvalidOperation
@ InvalidOperation