All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Tuples Namespace Reference

General namespace for Tuple properties. More...

Namespaces

namespace  detail
 
namespace  Local
 

Classes

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  TupleObj
 A simple wrapper class over standard Gaudi NTuple::Tuple facility. More...
 
class  ItemStore
 Simple class, which represents the local storage of N-tuple items of the given type. More...
 
class  _TupAdapter
 Trivial adapter to avoid the GCC problem (pointer to the function is never evaluated as "const TYPE&" ) More...
 

Typedefs

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

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
 
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
 
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
 
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.
 
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
 

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.

{
NTUPLE , // Analysis nTuple
EVTCOL // Event Collection
};

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.

{
NTUPLE , // Analysis nTuple
EVTCOL // Event Collection
};

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.

{ return make_column ( name , item ) ; }
template<class ITEM >
TupleColumn< const ITEM * > Tuples::Column ( const std::string &  name,
const ITEM *  item 
)
inline

Definition at line 324 of file Tuple.h.

{ return make_column ( name , item ) ; }
template<class ITEM >
TupleColumn< ITEM * > Tuples::Column ( const std::string &  name,
ITEM *  item 
)
inline

Definition at line 329 of file Tuple.h.

{ return make_column ( name , item ) ; }
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.

{
( detail::make_handler ( owner , &OWNER::Error ) ,
detail::make_handler ( owner , &OWNER::Warning ) ,
name , tuple , clid , type ) ;
}
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.

{ return TupleColumn<ITEM> ( name , item ) ; }
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.

{ return TupleColumn<const ITEM*>( name , item ) ; }
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.

{ return TupleColumn<ITEM*> ( name , item ) ; }
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.

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