 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ATHVIEWS_VIEW_H
6 #define ATHVIEWS_VIEW_H
8 #include "GaudiKernel/ServiceHandle.h"
13 #include "AthLinks/ElementLink.h"
55 View(
const std::string&
name,
int index,
bool allowFallThrough =
true,
56 const std::string& storeName =
"StoreGateSvc" );
86 void setFilter( std::vector< std::string >
const& inputFilter ) {
107 std::string
dump(
const std::string&
indent =
"" )
const;
117 virtual const std::string&
name()
const override {
152 return m_store->proxy( pTransient );
158 virtual std::vector<const SG::DataProxy*>
proxies()
const override {
188 const std::string&
key,
190 bool returnExisting)
override;
197 return m_store->boundHandle( handle );
205 return m_store->unboundHandle( handle );
219 sgkey_t& sgkey_out,
size_t& index_out)
override;
std::set< const SG::View * > m_parents
View & operator=(const View &)=delete
virtual StatusCode addToStore(CLID id, SG::DataProxy *proxy) override
Add a new proxy to the store.
View(const View &)=delete
virtual SG::DataProxy * proxy(const void *const pTransient) const override
Get a proxy referencing a given transient object.
DataVector< SG::View > ViewContainer
View container for recording in StoreGate.
virtual SG::DataProxy * recordObject(SG::DataObjectSharedPtr< DataObject > obj, const std::string &key, bool allowMods, bool returnExisting) override
Record an object in the store.
const ElementLink< TrigRoiDescriptorCollection > & getROI() const
Return associated RoI.
SG::sgkey_t sgkey_t
Type of the keys.
void linkParent(const IProxyDict *parent)
Link to the previously used views.
a resetable object (e.g. a SG DataHandle)
ElementLink< TrigRoiDescriptorCollection > m_roi
virtual void registerKey(IStringPool::sgkey_t key, const std::string &str, CLID clid) override
Remember an additional mapping from key to string/CLID.
size_t viewID() const
Return view index.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual const std::string & name() const override
Name of the view.
virtual bool tryELRemap(sgkey_t sgkey_in, size_t index_in, sgkey_t &sgkey_out, size_t &index_out) override
Test to see if the target of an ElementLink has moved.
DataProxy provides the registry services for StoreGate.
virtual const std::string * keyToString(IStringPool::sgkey_t key) const override
Find the string and CLID corresponding to a given key.
void setFilter(std::vector< std::string > const &inputFilter)
Set a filtering rule for anything loaded via fall-through.
virtual void unboundHandle(IResetable *handle) override
Tell the store that a handle has been unbound from a proxy.
CxxUtils::ConcurrentMap< sgkey_t, T, CxxUtils::SimpleUpdater, SGKeyHash, SGKeyEqual, 0, s_sgkey_nullval > ConcurrentSGKeyMap
A concurrent map using sgkey_t as key.
uint32_t CLID
The Class ID type.
Additional utilities and types related to sgkey_t.
virtual SG::DataProxy * proxy(const CLID &id, const std::string &key) const override
Get proxy with given id and key.
virtual SG::DataProxy * proxy_exact(SG::sgkey_t sgkey) const override
Get proxy given a hashed key+clid.
virtual void boundHandle(IResetable *handle) override
Tell the store that a handle has been bound to a proxy.
std::string dump(const std::string &indent="") const
Print content of the view.
const std::set< const SG::View * > & getParentLinks() const
Returns the links to the previously used views.
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.
An STL vector of pointers that by default owns its pointed-to elements.
virtual IStringPool::sgkey_t stringToKey(const std::string &str, CLID clid) override
Find the key for a string/CLID pair.
Define the type used for hashed StoreGate key+CLID pairs.
virtual std::vector< const SG::DataProxy * > proxies() const override
Return the list of all current proxies in store.
SG::ConcurrentSGKeyMap< sgkey_t > KeyMap_t
std::string viewKey(const std::string &key) const
Construct a key as used in the parent store.
std::vector< std::string > m_fallFilter
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
ServiceHandle< StoreGateSvc > m_store
std::string transientKey(const std::string &key)
Make a key transient.
SG::DataProxy * findProxy(const CLID &id, const std::string &key, bool allowFallThrough) const
Internal implementation of proxy()
Smart pointer to manage DataObject reference counts.
void setROI(const ElementLink< TrigRoiDescriptorCollection > &roi)
Associated RoI with this view.
A "view" of the event store (IProxyDict).
macros to associate a CLID to a type