ATLAS Offline Software
Loading...
Searching...
No Matches
FullHolderFactory.h
Go to the documentation of this file.
1// Emacs -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef TRIGNAVIGATION_FULLHOLDERFACTORY
8#define TRIGNAVIGATION_FULLHOLDERFACTORY
9
10#include <string>
11#include <set>
12#include <unordered_map>
16#include "GaudiKernel/ServiceHandle.h"
17
18class IConversionSvc;
20class StoreGateSvc;
21
22
23namespace HLT {
25 public:
26 FullHolderFactory(const std::string& prefix);
27
28 HLT::BaseHolder* fromSerialized(int version, const std::vector<uint32_t>::const_iterator& start, const std::vector<uint32_t>::const_iterator& end) override;
29
30 HLT::BaseHolder* createHolder(class_id_type clid, const std::string& label, uint16_t index) const override;
31
32 void prepare(StoreGateSvc* store, IConversionSvc* serializer, bool readonly = true) {
33 m_storeGate = store;
34 m_serializerSvc = serializer;
35 m_readonly = readonly;
36 }
37
39 void addClassToIgnore(class_id_type clid, const std::string& label="") {
40 if (label.empty()) m_ignore[clid] = {};
41 else m_ignore[clid].insert(label);
42 }
43
44 private:
45 IConversionSvc* m_serializerSvc;
47 std::string m_prefix;
49 std::unordered_map<class_id_type, std::set<std::string>> m_ignore;
50 };
51}
52#endif
HLT::BaseHolder * createHolder(class_id_type clid, const std::string &label, uint16_t index) const override
HLT::BaseHolder * fromSerialized(int version, const std::vector< uint32_t >::const_iterator &start, const std::vector< uint32_t >::const_iterator &end) override
void prepare(StoreGateSvc *store, IConversionSvc *serializer, bool readonly=true)
std::unordered_map< class_id_type, std::set< std::string > > m_ignore
void addClassToIgnore(class_id_type clid, const std::string &label="")
Ignore class with clid (and optional label) during deserialization.
IConversionSvc * m_serializerSvc
FullHolderFactory(const std::string &prefix)
The Athena Transient Store API.
Utility class (not a tool or so) to serialize strings into stream of 32bit integers.
Class mimicking the AthMessaging class from the offline software.
std::string label(const std::string &format, int i)
Definition label.h:19
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
Definition index.py:1