Tuples Namespace Reference

General namespace for Tuple properties. More...

Namespaces

 detail
 
 Local
 

Classes

class  _TupAdapter
 Trivial adapter to avoid the GCC problem (pointer to the function is never evaluated as "const TYPE&" ) More...
 
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, NTUPLE, EVTCOL }
 the list of available types for ntuples More...
 
enum  ErrorCodes {
  InvalidTuple = 100, InvalidColumn, InvalidOperation, InvalidObject,
  InvalidItem, TruncateValue = 200, InvalidTuple = 100, InvalidColumn,
  InvalidOperation, InvalidObject, InvalidItem, TruncateValue = 200
}
 Tuple error codes. More...
 
enum  Type { NTUPLE, EVTCOL, NTUPLE, EVTCOL }
 
enum  ErrorCodes {
  InvalidTuple = 100, InvalidColumn, InvalidOperation, InvalidObject,
  InvalidItem, TruncateValue = 200, InvalidTuple = 100, InvalidColumn,
  InvalidOperation, InvalidObject, InvalidItem, TruncateValue = 200
}
 

Functions

template<class ITEM >
TupleColumn< ITEM > make_column (const 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 (const 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 (const std::string &name, ITEM *item)
 helper function to create 'on-the-fly' the helper object Tuples::TupleColumn More...
 
template<class ITEM >
TupleColumn< ITEM > Column (const std::string &name, const ITEM &item)
 
template<class ITEM >
TupleColumn< const ITEM * > Column (const std::string &name, const ITEM *item)
 
template<class ITEM >
TupleColumn< ITEM * > Column (const std::string &name, ITEM *item)
 
template<class OWNER >
TupleObjcreateTupleObj (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...
 
template<class OBJECT >
_TupAdapter< OBJECT, double, double > useFun (OBJECT object)
 trivial helper function to convert on flight pointer to function into "functor" It is especially useful in conjunction with N-Tuples fills More...
 

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 25 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 
InvalidTuple 
InvalidColumn 
InvalidOperation 
InvalidObject 
InvalidItem 
TruncateValue 

Definition at line 76 of file TupleObj.h.

Enumerator
InvalidTuple 
InvalidColumn 
InvalidOperation 
InvalidObject 
InvalidItem 
TruncateValue 
InvalidTuple 
InvalidColumn 
InvalidOperation 
InvalidObject 
InvalidItem 
TruncateValue 

Definition at line 76 of file TupleObj.h.

Enumerator
NTUPLE 
EVTCOL 
NTUPLE 
EVTCOL 

Definition at line 63 of file TupleObj.h.

64  {
65  NTUPLE , // Analysis nTuple
66  EVTCOL // Event Collection
67  };

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 
NTUPLE 
EVTCOL 

Definition at line 63 of file TupleObj.h.

64  {
65  NTUPLE , // Analysis nTuple
66  EVTCOL // Event Collection
67  };

Function Documentation

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

Definition at line 319 of file Tuple.h.

320  { return make_column ( name , item ) ; }
TupleColumn< ITEM * > make_column(const std::string &name, ITEM *item)
helper function to create 'on-the-fly' the helper object Tuples::TupleColumn
Definition: Tuple.h:314
tuple item
print s1,s2
Definition: ana.py:146
template<class ITEM >
TupleColumn< const ITEM * > Tuples::Column ( const std::string &  name,
const ITEM *  item 
)
inline

Definition at line 324 of file Tuple.h.

325  { return make_column ( name , item ) ; }
TupleColumn< ITEM * > make_column(const std::string &name, ITEM *item)
helper function to create 'on-the-fly' the helper object Tuples::TupleColumn
Definition: Tuple.h:314
tuple item
print s1,s2
Definition: ana.py:146
template<class ITEM >
TupleColumn< ITEM * > Tuples::Column ( const std::string &  name,
ITEM *  item 
)
inline

Definition at line 329 of file Tuple.h.

330  { return make_column ( name , item ) ; }
TupleColumn< ITEM * > make_column(const std::string &name, ITEM *item)
helper function to create 'on-the-fly' the helper object Tuples::TupleColumn
Definition: Tuple.h:314
tuple item
print s1,s2
Definition: ana.py:146
template<class OWNER >
TupleObj * Tuples::createTupleObj ( const OWNER *  owner,
const std::string &  name,
NTuple::Tuple tuple,
const CLID clid = CLID_ColumnWiseTuple,
const Tuples::Type  type = Tuples::NTUPLE 
)
inline

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 243 of file TupleDetail.h.

248  {
250  ( detail::make_handler ( owner , &OWNER::Error ) ,
251  detail::make_handler ( owner , &OWNER::Warning ) ,
252  name , tuple , clid , type ) ;
253  }
TupleObj * 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:243
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:217
string type
Definition: gaudirun.py:151
template<class ITEM >
TupleColumn< ITEM > Tuples::make_column ( const std::string &  name,
const ITEM &  item 
)
inline

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

Definition at line 298 of file Tuple.h.

299  { return TupleColumn<ITEM> ( name , item ) ; }
tuple item
print s1,s2
Definition: ana.py:146
template<class ITEM >
TupleColumn< const ITEM * > Tuples::make_column ( const std::string &  name,
const ITEM *  item 
)
inline

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

Definition at line 306 of file Tuple.h.

307  { return TupleColumn<const ITEM*>( name , item ) ; }
tuple item
print s1,s2
Definition: ana.py:146
template<class ITEM >
TupleColumn< ITEM * > Tuples::make_column ( const std::string &  name,
ITEM *  item 
)
inline

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

Definition at line 314 of file Tuple.h.

315  { return TupleColumn<ITEM*> ( name , item ) ; }
tuple item
print s1,s2
Definition: ana.py:146
template<class OBJECT >
_TupAdapter< OBJECT, double, double > Tuples::useFun ( OBJECT  object)
inline

trivial helper function to convert on flight pointer to function into "functor" It is especially useful in conjunction with N-Tuples fills

using namespace Tuples ;
typedef std::vector<double> Array ;
Array arr = ... ;
tuple->farray ( "sinarr" ,
useFun ( sin ) ,
"cosarr" ,
useFun ( cos ) ,
arr.begin () ,
arr.end () ,
"Length" , 100 ) ;
See also
GaudiTupleAlg
Tuples::TupleObj
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@l.nosp@m.app..nosp@m.in2p3.nosp@m..fr
Date
2005-05-01

Definition at line 80 of file Tuples.h.

81  { return _TupAdapter<OBJECT,double,double>( object ) ; }