| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Namespaces | Classes | Typedefs | Enumerations | Functions
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 }
| 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
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 >
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 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

typedef GaudiAlg::ID Tuples::TupleID

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

Definition at line 25 of file TupleID.h.

## Enumeration Type Documentation

enum Tuples::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 76 of file TupleObj.h.

{
InvalidTuple = 100 ,
InvalidColumn ,
InvalidOperation ,
InvalidObject ,
InvalidItem ,
TruncateValue = 200
};

enum Tuples::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 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.

{
return detail::createTupleObj
( 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 ) ; }