4#ifndef TRIGOUTPUTHANDLING_TRIGGEREDMDESERIALISERALG_H
5#define TRIGOUTPUTHANDLING_TRIGGEREDMDESERIALISERALG_H
9#include "GaudiKernel/IClassIDSvc.h"
44 virtual StatusCode
execute(
const EventContext& context)
const override;
45 virtual StatusCode
finalize()
override;
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)"};
82 StatusCode
deserialiseDynAux(
const std::string& transientTypeName,
const std::string& persistentTypeName,
83 const std::string& decorationName,
void* obj,
90 StatusCode
checkSanity(
const std::string& transientTypeName,
bool isxAODInterfaceContainer,
91 bool isxAODAuxContainer,
bool isDecoration,
bool isTPContainer )
const;
An algorithm that can be simultaneously executed in multiple threads.
Manage index tracking and synchronization of auxiliary data.
Property holding a SG store/key/clid from which a ReadHandle is made.
virtual StatusCode initialize() override
Gaudi::Property< int > m_initialSerialisationBufferSize
Gaudi::Property< bool > m_permitMissingModule
static constexpr size_t CLIDOffset
Payload::const_iterator PayloadIterator
static std::mutex s_mutex
static constexpr size_t NameLengthOffset
static constexpr size_t NameOffset
ServiceHandle< IAthenaSerializeSvc > m_serializerSvc
SG::ReadHandleKey< HLT::HLTResultMT > m_resultKey
virtual ~TriggerEDMDeserialiserAlg() override=default
virtual StatusCode finalize() override
ToolHandle< TrigSerTPTool > m_tpTool
Gaudi::Property< std::string > m_prefix
StatusCode deserialiseDynAux(const std::string &transientTypeName, const std::string &persistentTypeName, const std::string &decorationName, void *obj, WritableAuxStore *currentAuxStore, SG::AuxVectorBase *interface) const
Handle decoration.
static std::unique_ptr< TList > s_streamerInfoList ATLAS_THREAD_SAFE
TriggerEDMDeserialiserAlg(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< bool > m_skipDuplicates
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...
StatusCode deserialise(const Payload *dataptr) const
Performs actual deserialisation loop.
ServiceHandle< IClassIDSvc > m_clidSvc
friend StatusCode tester(TriggerEDMDeserialiserAlg *)
std::vector< uint32_t > Payload
Gaudi::Property< int > m_moduleID
void add_bs_streamerinfos()
virtual StatusCode execute(const EventContext &context) const override