ATLAS Offline Software
Loading...
Searching...
No Matches
MetaVector.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7#ifndef SAMPLE_HANDLER_META_VECTOR_HH
8#define SAMPLE_HANDLER_META_VECTOR_HH
9
11
12#include <vector>
13#include <SampleHandler/Meta.h>
14
15namespace SH
16{
19 template<class T> class MetaVector : public Meta
20 {
21 //
22 // public interface
23 //
24
29 public:
30 void testInvariant () const;
31
32
41 public:
42 MetaVector ();
43
44
51 public:
52 MetaVector (const std::string& name, const std::vector<T>& set_value);
53
54
56 public:
57 std::vector<T> value;
58
59
60
61 //
62 // private interface
63 //
64
66 };
67}
68
70
71namespace SH
72{
73 template<class T> void MetaVector<T> ::
74 testInvariant () const
75 {
76 }
77
78
79
80 template<class T> MetaVector<T> ::
82 : Meta ("")
83 {
84 RCU_NEW_INVARIANT (this);
85 }
86
87
88
89 template<class T> MetaVector<T> ::
90 MetaVector (const std::string& name, const std::vector<T>& set_value)
91 : Meta (name), value (set_value)
92 {
93 RCU_NEW_INVARIANT (this);
94 }
95}
96
97#endif
#define RCU_NEW_INVARIANT(x)
Definition Assert.h:228
void testInvariant() const
test the invariant of this object
Definition MetaVector.h:74
ClassDef(MetaVector, 1)
std::vector< T > value
the value contained
Definition MetaVector.h:57
MetaVector()
standard default constructor
Definition MetaVector.h:81
Meta(const std::string &name)
standard constructor
Definition Meta.cxx:44
This module provides a lot of global definitions, forward declarations and includes that are used by ...
Definition PrunDriver.h:15