ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigNavigation
TrigNavigation
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>
13
#include "
TrigNavStructure/ITrigHolderFactory.h
"
14
#include "
TrigNavStructure/BaseHolder.h
"
15
#include "
AsgMessaging/AsgMessaging.h
"
16
#include "GaudiKernel/ServiceHandle.h"
17
18
class
IConversionSvc;
19
class
StringSerializer
;
20
class
StoreGateSvc
;
21
22
23
namespace
HLT
{
24
class
FullHolderFactory
:
public
ITrigHolderFactory
,
public
::asg::AsgMessaging
{
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
;
46
StoreGateSvc
*
m_storeGate
;
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
AsgMessaging.h
BaseHolder.h
ITrigHolderFactory.h
HLT::BaseHolder
Definition
BaseHolder.h:14
HLT::FullHolderFactory::createHolder
HLT::BaseHolder * createHolder(class_id_type clid, const std::string &label, uint16_t index) const override
Definition
FullHolderFactory.cxx:73
HLT::FullHolderFactory::m_prefix
std::string m_prefix
Definition
FullHolderFactory.h:47
HLT::FullHolderFactory::m_storeGate
StoreGateSvc * m_storeGate
Definition
FullHolderFactory.h:46
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::prepare
void prepare(StoreGateSvc *store, IConversionSvc *serializer, bool readonly=true)
Definition
FullHolderFactory.h:32
HLT::FullHolderFactory::m_ignore
std::unordered_map< class_id_type, std::set< std::string > > m_ignore
Definition
FullHolderFactory.h:49
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
HLT::FullHolderFactory::m_serializerSvc
IConversionSvc * m_serializerSvc
Definition
FullHolderFactory.h:45
HLT::FullHolderFactory::m_readonly
bool m_readonly
Definition
FullHolderFactory.h:48
HLT::FullHolderFactory::FullHolderFactory
FullHolderFactory(const std::string &prefix)
Definition
FullHolderFactory.cxx:15
StoreGateSvc
The Athena Transient Store API.
Definition
StoreGateSvc.h:120
StringSerializer
Utility class (not a tool or so) to serialize strings into stream of 32bit integers.
Definition
TrigDataAccess/TrigSerializeResult/TrigSerializeResult/StringSerializer.h:19
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition
AsgMessaging.h:40
label
std::string label(const std::string &format, int i)
Definition
label.h:19
HLT
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
Definition
HLTResultReader.h:26
HLT::class_id_type
uint32_t class_id_type
Definition
Trigger/TrigEvent/TrigNavStructure/Root/Types.h:11
index
Definition
index.py:1
HLT::ITrigHolderFactory
Definition
ITrigHolderFactory.h:15
Generated on
for ATLAS Offline Software by
1.17.0