Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v30r3 (a5ef0a68)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Tuples Namespace Reference

General namespace for Tuple properties. More...

Namespaces

 detail
 
 Local
 

Classes

class  ItemStore
 Simple class, which represents the local storage of N-tuple items of the given type. More...
 
class  Tuple
 A simple wrapper class over standard Gaudi NTuple::Tuple facility. More...
 
class  TupleColumn
 Helper class which allows to extend the functionality of Tuple with possibility to use your own representation of complex objects. More...
 
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 }
 the list of available types for ntuples More...
 
enum  ErrorCodes : StatusCode::code_t {
  ErrorCodes::InvalidTuple = 100, ErrorCodes::InvalidColumn, ErrorCodes::InvalidOperation, ErrorCodes::InvalidObject,
  ErrorCodes::InvalidItem, ErrorCodes::TruncateValue = 200
}
 Tuple error codes. More...
 

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.

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.

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@i.nosp@m.tep..nosp@m.ru
Date
2004-01-23
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@l.nosp@m.app..nosp@m.in2p3.nosp@m..fr
Date
2005-08-06

Typedef Documentation

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

Definition at line 23 of file TupleID.h.

Enumeration Type Documentation

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 95 of file TupleObj.h.

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 83 of file TupleObj.h.

83  {
84  NTUPLE, // Analysis nTuple
85  EVTCOL // Event Collection
86  };

Function Documentation

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

Definition at line 300 of file Tuple.h.

301  {
302  return make_column( std::move( name ), item );
303  }
TupleColumn< ITEM * > make_column(std::string name, ITEM *item)
helper function to create &#39;on-the-fly&#39; the helper object Tuples::TupleColumn
Definition: Tuple.h:294
T move(T...args)
template<class ITEM >
TupleColumn<const ITEM*> Tuples::Column ( std::string  name,
const ITEM *  item 
)
inline

Definition at line 306 of file Tuple.h.

307  {
308  return make_column( std::move( name ), item );
309  }
TupleColumn< ITEM * > make_column(std::string name, ITEM *item)
helper function to create &#39;on-the-fly&#39; the helper object Tuples::TupleColumn
Definition: Tuple.h:294
T move(T...args)
template<class ITEM >
TupleColumn<ITEM*> Tuples::Column ( std::string  name,
ITEM *  item 
)
inline

Definition at line 312 of file Tuple.h.

313  {
314  return make_column( std::move( name ), item );
315  }
TupleColumn< ITEM * > make_column(std::string name, ITEM *item)
helper function to create &#39;on-the-fly&#39; the helper object Tuples::TupleColumn
Definition: Tuple.h:294
T move(T...args)
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 226 of file TupleDetail.h.

228  {
229  return detail::createTupleObj( detail::make_handler( owner, &OWNER::Error ),
230  detail::make_handler( owner, &OWNER::Warning ), name, tuple, clid, type );
231  }
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:226
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:201
std::size_t Tuples::hash_value ( TupleID const &  b)
inline

Definition at line 24 of file TupleID.h.

24 { return b.hash(); }
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 276 of file Tuple.h.

277  {
278  return {std::move( name ), item};
279  }
T move(T...args)
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 285 of file Tuple.h.

286  {
287  return {std::move( name ), item};
288  }
T move(T...args)
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 294 of file Tuple.h.

295  {
296  return {std::move( name ), item};
297  }
T move(T...args)