All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 }
 the list of available types for ntuples More...
 
enum  ErrorCodes {
  InvalidTuple = 100, InvalidColumn, InvalidOperation, InvalidObject,
  InvalidItem, TruncateValue = 200
}
 Tuple error codes. More...
 

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 

Definition at line 76 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 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
string type
Definition: gaudirun.py:126
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
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 ) ; }