|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef TRIGOUTPUTHANDLING_TRIGGEREDMDESERIALISERALG_H
5 #define TRIGOUTPUTHANDLING_TRIGGEREDMDESERIALISERALG_H
9 #include "GaudiKernel/IClassIDSvc.h"
53 "Key of the HLT result object" };
54 Gaudi::Property<std::string>
m_prefix{
this,
"Prefix",
"",
55 "Set for testing to avoid clash with the input collections" };
57 "Module ID of HLT result ROB, default 0 is the main HLT result, others are for TLA, calibration etc." };
59 "Initial serialisation buffer size in bytes, can be set large to avoid reallocations in every event" };
61 "Silently ignore collections that ware already in StoreGate (when handling multiple HLT results)" };
63 "Silently ignore absent HLT results (when handling multiple HLT results)" };
66 "Service to translate CLID to class name" };
69 "Service that translates persistent to transient representation" };
71 ToolHandle<TrigSerTPTool>
m_tpTool{
this,
"TPTool",
"TrigSerTPTool/TrigSerTPTool",
72 "Tool to do Transient/Persistent conversion (Old EDM)"};
83 const std::string& decorationName,
void*
obj,
91 bool isxAODAuxContainer,
bool isDecoration,
bool isTPContainer )
const;
95 #endif // TRIGOUTPUTHANDLING_TRIGGEREDMDESERIALISERALG_H
virtual StatusCode execute(const EventContext &context) const override
static std::mutex s_mutex
ToolHandle< TrigSerTPTool > m_tpTool
static std::unique_ptr< TList > s_streamerInfoList ATLAS_THREAD_SAFE
virtual StatusCode initialize() override
Gaudi::Property< std::string > m_prefix
Manage index tracking and synchronization of auxiliary data.
Gaudi::Property< int > m_initialSerialisationBufferSize
Gaudi::Property< int > m_moduleID
An algorithm that can be simultaneously executed in multiple threads.
ServiceHandle< IAthenaSerializeSvc > m_serializerSvc
Payload::const_iterator PayloadIterator
static constexpr size_t CLIDOffset
void add_bs_streamerinfos()
std::vector< uint32_t > Payload
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode deserialiseDynAux(const std::string &transientTypeName, const std::string &persistentTypeName, const std::string &decorationName, void *obj, WritableAuxStore *currentAuxStore, SG::AuxVectorBase *interface) const
Handle decoration.
TriggerEDMDeserialiserAlg(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode deserialise(const Payload *dataptr) const
Performs actual deserialisation loop.
virtual StatusCode finalize() override
static constexpr size_t NameOffset
ServiceHandle< IClassIDSvc > m_clidSvc
friend StatusCode tester(TriggerEDMDeserialiserAlg *)
Gaudi::Property< bool > m_permitMissingModule
SG::ReadHandleKey< HLT::HLTResultMT > m_resultKey
StatusCode checkSanity(const std::string &transientTypeName, bool isxAODInterfaceContainer, bool isxAODAuxContainer, bool isDecoration, bool isTPContainer) const
Checker for data integrity, one and only one of the passed booleans can be true, else FAILURE is retu...
static constexpr size_t NameLengthOffset
Gaudi::Property< bool > m_skipDuplicates
virtual ~TriggerEDMDeserialiserAlg() override=default