The Gaudi Framework
v36r1 (3e2fb5a8)
TupleDef.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
// ============================================================================
12
#ifndef TUPLEEX_TUPLEDEF_H
13
#define TUPLEEX_TUPLEDEF_H 1
14
// ============================================================================
15
// Include files
16
// ============================================================================
17
// STD & STL
18
// ============================================================================
19
#include <utility>
20
// ============================================================================
21
// GaudiAlg
22
// ============================================================================
23
#include "
GaudiAlg/Tuple.h
"
24
// ============================================================================
25
44
namespace
TupleExample
{
45
typedef
std::pair<double, double>
Dublet
;
46
typedef
std::pair<Dublet, double>
Triplet
;
47
56
Tuples::Tuple
&
fillNTuple
(
Tuples::Tuple
&
t
,
const
std::string
&
n
,
const
Dublet
& p );
57
66
Tuples::Tuple
&
fillNTuple
(
Tuples::Tuple
&
t
,
const
std::string
&
n
,
const
Triplet
& p );
67
}
// end of namespace TupleExample
68
69
// ============================================================================
70
// define corresponding partial specializations:
71
// ============================================================================
72
template
<>
73
inline
Tuples::Tuple
&
operator<<
(
Tuples::Tuple
& tuple,
const
Tuples::TupleColumn<TupleExample::Dublet>
& item ) {
74
return
TupleExample::fillNTuple
( tuple, item.
name
(), item.
value
() );
75
}
76
// ============================================================================
77
template
<>
78
inline
Tuples::Tuple
&
operator<<
(
Tuples::Tuple
& tuple,
const
Tuples::TupleColumn<TupleExample::Triplet>
& item ) {
79
return
TupleExample::fillNTuple
( tuple, item.
name
(), item.
value
() );
80
}
81
// ============================================================================
82
83
// ============================================================================
84
// The END
85
// ============================================================================
86
#endif // TUPLEEX_TUPLEDEF_H
TupleExample::fillNTuple
Tuples::Tuple & fillNTuple(Tuples::Tuple &t, const std::string &n, const Dublet &p)
helper function useful for the partial specialization of N-Tuple fills
Definition:
TupleDef.cpp:35
Tuple.h
std::string
STL class.
std::pair< double, double >
Tuples::TupleColumn
Definition:
Tuple.h:265
TupleExample
Definition:
TupleDef.cpp:25
bug_34121.t
t
Definition:
bug_34121.py:30
TupleExample::Triplet
std::pair< Dublet, double > Triplet
Definition:
TupleDef.h:46
TupleExample::Dublet
std::pair< double, double > Dublet
Definition:
TupleDef.h:45
Tuples::Tuple
A simple wrapper class over standard Gaudi NTuple::Tuple facility.
Definition:
Tuple.h:126
Tuples::TupleColumn::name
const std::string & name() const
Return the column name.
Definition:
Tuple.h:270
GaudiPluginService.cpluginsvc.n
n
Definition:
cpluginsvc.py:221
operator<<
Tuples::Tuple & operator<<(Tuples::Tuple &tuple, const Tuples::TupleColumn< TupleExample::Dublet > &item)
Definition:
TupleDef.h:73
Tuples::TupleColumn::value
const ITEM & value() const
Return the column value.
Definition:
Tuple.h:272
GaudiExamples
src
TupleEx
TupleDef.h
Generated on Tue Sep 21 2021 12:27:42 for The Gaudi Framework by
1.8.18