ATLAS Offline Software
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 
18 class IConversionSvc;
19 class StringSerializer;
20 class StoreGateSvc;
21 
22 
23 namespace 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) {
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;
48  bool m_readonly;
49  std::unordered_map<class_id_type, std::set<std::string>> m_ignore;
50  };
51 }
52 #endif
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:69
HLT::FullHolderFactory
Definition: FullHolderFactory.h:24
index
Definition: index.py:1
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
HLT::FullHolderFactory::createHolder
HLT::BaseHolder * createHolder(class_id_type clid, const std::string &label, uint16_t index) const override
Definition: FullHolderFactory.cxx:73
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
HLT::FullHolderFactory::m_storeGate
StoreGateSvc * m_storeGate
Definition: FullHolderFactory.h:46
HLT::FullHolderFactory::m_readonly
bool m_readonly
Definition: FullHolderFactory.h:48
HLT::FullHolderFactory::m_ignore
std::unordered_map< class_id_type, std::set< std::string > > m_ignore
Definition: FullHolderFactory.h:49
HLT::FullHolderFactory::fromSerialized
HLT::BaseHolder * fromSerialized(int version, const std::vector< uint32_t >::const_iterator &start, const std::vector< uint32_t >::const_iterator &end) override
Definition: FullHolderFactory.cxx:24
HLT::FullHolderFactory::addClassToIgnore
void addClassToIgnore(class_id_type clid, const std::string &label="")
Ignore class with clid (and optional label) during deserialization.
Definition: FullHolderFactory.h:39
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
AsgMessaging.h
HLT::FullHolderFactory::m_serializerSvc
IConversionSvc * m_serializerSvc
Definition: FullHolderFactory.h:45
HLT::ITrigHolderFactory
Definition: ITrigHolderFactory.h:15
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
HLT
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
Definition: HLTResultReader.h:26
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
ITrigHolderFactory.h
HLT::BaseHolder
Definition: BaseHolder.h:14
HLT::class_id_type
uint32_t class_id_type
Definition: Trigger/TrigEvent/TrigNavStructure/Root/Types.h:11
HLT::FullHolderFactory::prepare
void prepare(StoreGateSvc *store, IConversionSvc *serializer, bool readonly=true)
Definition: FullHolderFactory.h:32
BaseHolder.h
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
get_generator_info.version
version
Definition: get_generator_info.py:33
HLT::FullHolderFactory::m_prefix
std::string m_prefix
Definition: FullHolderFactory.h:47
StringSerializer
Utility class (not a tool or so) to serialize strings into stream of 32bit integers.
Definition: TrigDataAccess/TrigSerializeResult/TrigSerializeResult/StringSerializer.h:19
HLT::FullHolderFactory::FullHolderFactory
FullHolderFactory(const std::string &prefix)
Definition: FullHolderFactory.cxx:15