|
| View (const std::string &name, int index, bool allowFallThrough=true, const std::string &storeName="StoreGateSvc") |
| Create a new View instance. More...
|
|
| View ()=delete |
|
virtual | ~View ()=default |
|
| View (const View &)=delete |
|
View & | operator= (const View &)=delete |
|
size_t | viewID () const |
| Return view index. More...
|
|
void | linkParent (const IProxyDict *parent) |
| Link to the previously used views. More...
|
|
const std::set< const SG::View * > & | getParentLinks () const |
| Returns the links to the previously used views. More...
|
|
void | setFilter (std::vector< std::string > const &inputFilter) |
| Set a filtering rule for anything loaded via fall-through. More...
|
|
void | setROI (const ElementLink< TrigRoiDescriptorCollection > &roi) |
| Associated RoI with this view. More...
|
|
const ElementLink< TrigRoiDescriptorCollection > & | getROI () const |
| Return associated RoI. More...
|
|
std::string | dump (const std::string &indent="") const |
| Print content of the view. More...
|
|
|
virtual const std::string & | name () const override |
| Name of the view. More...
|
|
virtual SG::DataProxy * | proxy_exact (SG::sgkey_t sgkey) const override |
| Get proxy given a hashed key+clid. More...
|
|
virtual SG::DataProxy * | proxy (const CLID &id, const std::string &key) const override |
| Get proxy with given id and key. More...
|
|
virtual SG::DataProxy * | proxy (const void *const pTransient) const override |
| Get a proxy referencing a given transient object. More...
|
|
virtual std::vector< const SG::DataProxy * > | proxies () const override |
| Return the list of all current proxies in store. More...
|
|
virtual StatusCode | addToStore (CLID id, SG::DataProxy *proxy) override |
| Add a new proxy to the store. More...
|
|
virtual SG::DataProxy * | recordObject (SG::DataObjectSharedPtr< DataObject > obj, const std::string &key, bool allowMods, bool returnExisting) override |
| Record an object in the store. More...
|
|
virtual void | boundHandle (IResetable *handle) override |
| Tell the store that a handle has been bound to a proxy. More...
|
|
virtual void | unboundHandle (IResetable *handle) override |
| Tell the store that a handle has been unbound from a proxy. More...
|
|
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. More...
|
|
|
virtual const std::string * | keyToString (IStringPool::sgkey_t key) const override |
| Find the string and CLID corresponding to a given key. More...
|
|
virtual const std::string * | keyToString (IStringPool::sgkey_t key, CLID &clid) const override |
| Find the string corresponding to a given key. More...
|
|
virtual IStringPool::sgkey_t | stringToKey (const std::string &str, CLID clid) override |
| Find the key for a string/CLID pair. More...
|
|
virtual void | registerKey (IStringPool::sgkey_t key, const std::string &str, CLID clid) override |
| Remember an additional mapping from key to string/CLID. More...
|
|
A "view" of the event store (IProxyDict).
This class provides a view of the event store by mangling (prefixing) the key name with a fixed string (see viewKey()
). Usually the view is carried by the (extended) EventContext
and automatically applied for algorithms running within a view. For creating/accessing objects from outside the view, the view needs to be explicitly set via VarHandleBase::setProxyDict()
on the handle (see AthViews/ViewHelper.h).
The lookup of an object proceeds in the following order:
- the current view
- the parent view if linked
- the full store if
allowFallThrough
is set
Definition at line 46 of file View.h.
Add a new proxy to the store.
- Parameters
-
id | CLID as which the proxy should be added. |
proxy | The proxy to add. |
Simple addition of a proxy to the store. The key is taken as the primary key of the proxy. Does not handle things like overwrite, history, symlinks, etc. Should return failure if there is already an entry for this clid/key.
Definition at line 172 of file View.h.
Get proxy with given id and key.
- Parameters
-
id | The CLID of the desired object. |
key | The key of the desired object. |
If the key is a null string, then it is a default key. Finding a proxy via the default key should succeed only if there is exactly one object with the given CLID
in the store. Finding a proxy via a default key is considered deprecated for the case of the event store.
Returns 0 to flag failure
Definition at line 112 of file View.cxx.
Get proxy given a hashed key+clid.
- Parameters
-
sgkey | Hashed key to look up. |
Find an exact match; no handling of aliases, etc. Returns 0 to flag failure.
- Parameters
-
sgkey | Hashed key to look up. |
Find an exact match; no handling of aliases, etc. Returns 0 to flag failure.
- Note
- The implementation of proxy_exact is a bit special for the view case. This method is called by the Read/WriteHandle to avoid lengthy lookups via the string key. However, the
sgkey
that is passed is the hashed key of the original HandleKey (without the view prefix). So whenever we store an object in a view, we calculate the raw hashed key in recordObject()
and store a mapping to the hashed view key to be able to retrieve the correct proxy here.
Definition at line 90 of file View.cxx.
93 return m_store->proxy_exact( itr->second );