ATLAS Offline Software
MetaData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef SAMPLE_HANDLER_META_DATA_HH
6 #define SAMPLE_HANDLER_META_DATA_HH
7 
8 //
9 // Distributed under the Boost Software License, Version 1.0.
10 // (See accompanying file LICENSE_1_0.txt or copy at
11 // http://www.boost.org/LICENSE_1_0.txt)
12 
13 // Please feel free to contact me (krumnack@iastate.edu) for bug
14 // reports, feature suggestions, praise and complaints.
15 
16 
17 
18 #include <SampleHandler/Global.h>
19 
20 #include <SampleHandler/Meta.h>
21 
22 namespace SH
23 {
26  template<class T> class MetaData : public Meta
27  {
28  //
29  // public interface
30  //
31 
36  public:
37  void testInvariant () const;
38 
39 
48  public:
49  MetaData ();
50 
51 
58  public:
59  MetaData (const std::string& name, const T& set_value);
60 
61 
63  public:
64  T value;
65 
66 
67 
68  //
69  // private interface
70  //
71 
73  };
74 }
75 
76 #include <RootCoreUtils/Assert.h>
77 
78 namespace SH
79 {
80  template<class T> void MetaData<T> ::
81  testInvariant () const
82  {
83  }
84 
85 
86 
87  template<class T> MetaData<T> ::
88  MetaData ()
89  : Meta ("")
90  {
91  RCU_NEW_INVARIANT (this);
92  }
93 
94 
95 
96  template<class T> MetaData<T> ::
97  MetaData (const std::string& name, const T& set_value)
98  : Meta (name), value (set_value)
99  {
100  RCU_NEW_INVARIANT (this);
101  }
102 }
103 
104 #endif
SH::MetaData::MetaData
MetaData()
standard default constructor
Definition: MetaData.h:88
athena.value
value
Definition: athena.py:122
SH::MetaData::testInvariant
void testInvariant() const
test the invariant of this object
Definition: MetaData.h:81
Assert.h
Meta.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SH::MetaData::ClassDef
ClassDef(MetaData, 1)
SH::MetaData
A class implementing a templatized version of the meta-data.
Definition: D3PDTools/SampleHandler/SampleHandler/Global.h:36
SH
This module provides a lot of global definitions, forward declarations and includes that are used by ...
Definition: PrunDriver.h:15
Global.h
SH::Meta
A base class for classes that implement arbitrary meta-data.
Definition: Meta.h:43
SH::MetaData::value
T value
the value contained
Definition: MetaData.h:64
RCU_NEW_INVARIANT
#define RCU_NEW_INVARIANT(x)
Definition: Assert.h:233