ATLAS Offline Software
VarHandleProperty.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // VarHandleProperty.h
8 // Header file for class VarHandleProperty
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef STOREGATE_VARHANDLEPROPERTY_H
12 #define STOREGATE_VARHANDLEPROPERTY_H 1
13 
15 #include "StoreGate/ReadHandle.h"
16 #include "StoreGate/WriteHandle.h"
17 #include "StoreGate/UpdateHandle.h"
18 
21 
22 
23 // ** Specializations of SimplePropertyRef for the VarHandle classes.
24 
25 namespace Gaudi {
26 template<>
27  class Property<SG::VarHandleBase&> : public SG::VarHandleKeyProperty {
28 public:
29  Property(const std::string& name, SG::VarHandleBase& value) :
30  SG::VarHandleKeyProperty(name, value.vhKey()) {}
31  virtual ~Property() {}
32 };
33 
34 template<typename T>
35  class Property<SG::ReadHandle<T>&> : public SG::VarHandleKeyProperty {
36 public:
37  Property(const std::string& name, SG::ReadHandle<T>& value) :
38  SG::VarHandleKeyProperty(name, value.vhKey()) {}
39  virtual ~Property() {}
40 };
41 
42 template<typename T>
43  class Property<SG::WriteHandle<T>&> : public SG::VarHandleKeyProperty {
44 public:
45  Property(const std::string& name, SG::WriteHandle<T>& value) :
46  SG::VarHandleKeyProperty(name, value.vhKey()) {}
47  virtual ~Property() {}
48 };
49 
50 template<typename T>
51  class Property<SG::UpdateHandle<T>&> : public SG::VarHandleKeyProperty {
52 public:
53  Property(const std::string& name, SG::UpdateHandle<T>& value) :
54  SG::VarHandleKeyProperty(name, value.vhKey()) {}
55  virtual ~Property() {}
56 };
57 
58 
59 template<typename T>
60  class Property<SG::ReadCondHandle<T>&> : public SG::VarHandleKeyProperty {
61 public:
62  Property(const std::string& name, SG::ReadCondHandle<T>& value) :
63  SG::VarHandleKeyProperty(name, value.vhKey()) {}
64  virtual ~Property() {}
65 };
66 
67 template<typename T>
68  class Property<SG::WriteCondHandle<T>&> : public SG::VarHandleKeyProperty {
69 public:
70  Property(const std::string& name, SG::WriteCondHandle<T>& value) :
71  SG::VarHandleKeyProperty(name, value) {}
72  virtual ~Property() {}
73 };
74 
75 
76 }
77 
78 // template<>
79 // class SimplePropertyRef< SG::VarHandleBase > :
80 // public SG::VarHandleKeyProperty
81 // {
82 // public:
83 // SimplePropertyRef(const std::string& name, SG::VarHandleBase& value) :
84 // SG::VarHandleKeyProperty(name, value) {}
85 // };
86 
87 
88 // template<typename T>
89 // class SimplePropertyRef< SG::ReadHandle<T> > :
90 // public SG::VarHandleKeyProperty
91 // {
92 // public:
93 // SimplePropertyRef(const std::string& name, SG::ReadHandle<T>& value) :
94 // SG::VarHandleKeyProperty(name, value) {}
95 // };
96 
97 
98 // template<typename T>
99 // class SimplePropertyRef< SG::UpdateHandle<T> > :
100 // public SG::VarHandleKeyProperty
101 // {
102 // public:
103 // SimplePropertyRef( const std::string& name, SG::UpdateHandle<T>& value ) :
104 // SG::VarHandleKeyProperty(name, value) {}
105 // };
106 
107 
108 // template<typename T>
109 // class SimplePropertyRef< SG::WriteHandle<T> > :
110 // public SG::VarHandleKeyProperty
111 // {
112 // public:
113 // SimplePropertyRef( const std::string& name, SG::WriteHandle<T>& value ) :
114 // SG::VarHandleKeyProperty(name, value) {}
115 // };
116 
117 // template<typename T>
118 // class SimplePropertyRef< SG::ReadCondHandle<T> > :
119 // public SG::VarHandleKeyProperty
120 // {
121 // public:
122 // SimplePropertyRef(const std::string& name, SG::ReadCondHandle<T>& value) :
123 // SG::VarHandleKeyProperty(name, value) {}
124 // };
125 
126 // template<typename T>
127 // class SimplePropertyRef< SG::WriteCondHandle<T> > :
128 // public SG::VarHandleKeyProperty
129 // {
130 // public:
131 // SimplePropertyRef(const std::string& name, SG::WriteCondHandle<T>& value) :
132 // SG::VarHandleKeyProperty(name, value) {}
133 // };
134 
135 
136 #endif /* !STOREGATE_VARHANDLEPROPERTY_H */
137 
VarHandleKeyProperty.h
Handle Gaudi property setting for VarHandleKey.
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
Gaudi::Property< SG::ReadHandle< T > & >::Property
Property(const std::string &name, SG::ReadHandle< T > &value)
Definition: VarHandleProperty.h:37
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
Gaudi::Property< SG::WriteHandle< T > & >::~Property
virtual ~Property()
Definition: VarHandleProperty.h:47
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
SG::VarHandleBase
Base class for VarHandle types.
Definition: StoreGate/StoreGate/VarHandleBase.h:83
athena.value
value
Definition: athena.py:122
Property
Support class for PropertyMgr.
Definition: Property.h:23
ReadCondHandle.h
Gaudi::Property< SG::UpdateHandle< T > & >::Property
Property(const std::string &name, SG::UpdateHandle< T > &value)
Definition: VarHandleProperty.h:53
WriteHandle.h
Handle class for recording to StoreGate.
Gaudi::Property< SG::VarHandleBase & >::~Property
virtual ~Property()
Definition: VarHandleProperty.h:31
Gaudi::Property< SG::WriteCondHandle< T > & >::~Property
virtual ~Property()
Definition: VarHandleProperty.h:72
WriteCondHandle.h
Gaudi::Property< SG::WriteHandle< T > & >::Property
Property(const std::string &name, SG::WriteHandle< T > &value)
Definition: VarHandleProperty.h:45
Gaudi::Property< SG::UpdateHandle< T > & >::~Property
virtual ~Property()
Definition: VarHandleProperty.h:55
Gaudi::Property< SG::WriteCondHandle< T > & >::Property
Property(const std::string &name, SG::WriteCondHandle< T > &value)
Definition: VarHandleProperty.h:70
Gaudi::Property< SG::ReadCondHandle< T > & >::Property
Property(const std::string &name, SG::ReadCondHandle< T > &value)
Definition: VarHandleProperty.h:62
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
SG::UpdateHandle
Definition: UpdateHandle.h:94
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
UpdateHandle.h
Handle class for modifying an existing object in StoreGate.
Gaudi::Property< SG::VarHandleBase & >::Property
Property(const std::string &name, SG::VarHandleBase &value)
Definition: VarHandleProperty.h:29
Gaudi::Property< SG::ReadCondHandle< T > & >::~Property
virtual ~Property()
Definition: VarHandleProperty.h:64
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
ReadHandle.h
Handle class for reading from StoreGate.
SG::VarHandleKeyProperty
VarHandleKeyProperty is the class which wraps a SG::VarHandleKey.
Definition: VarHandleKeyProperty.h:81
SG::WriteCondHandle
Definition: WriteCondHandle.h:26
Gaudi::Property< SG::ReadHandle< T > & >::~Property
virtual ~Property()
Definition: VarHandleProperty.h:39