5#ifndef STOREGATE_HIVEMGRSVC_H
6#define STOREGATE_HIVEMGRSVC_H
12#include "GaudiKernel/Service.h"
13#include "GaudiKernel/ServiceHandle.h"
14#include "GaudiKernel/StatusCode.h"
15#include "GaudiKernel/IHiveWhiteBoard.h"
30class HiveMgrSvc :
public extends<Service, IHiveWhiteBoard> {
32 friend class ::HltEventLoopMgr;
41 virtual StatusCode
selectStore(
size_t slotIndex)
override;
48 virtual StatusCode
clearStore(
size_t slotIndex)
override;
69 virtual bool exists(
const DataObjID& )
override;
84 virtual StatusCode
freeStore(
size_t slotIndex )
override;
99 virtual StatusCode
finalize()
override;
100 virtual StatusCode
start()
override;
104 HiveMgrSvc(
const std::string& name, ISvcLocator* svc);
AthenaMT event loop manager for running HLT online.
virtual StatusCode start() override
virtual size_t allocateStore(int evtnumber) override
Allocate a store slot for new event.
HiveMgrSvc(const std::string &name, ISvcLocator *svc)
Standard Service Constructor. sets active store to default event store.
virtual size_t getNumberOfStores() const override
Get the number of 'slots'.
static void setNumProcs(size_t numProcs)
Set number of concurrent processes.
virtual bool exists(const DataObjID &) override
Check if a data object exists in store.
std::atomic< size_t > m_freeSlots
virtual size_t freeSlots() override
Get free slots number.
virtual size_t getPartitionNumber(int eventnumber) const override
Get the slot number corresponding to a given event.
virtual StatusCode selectStore(size_t slotIndex) override
Activate an given 'slot' for all subsequent calls within the same thread id.
ServiceHandle< StoreGateSvc > m_hiveStore
virtual StatusCode clearStore(size_t slotIndex) override
Clear a given 'slot'.
friend class TestSGHiveMgrSvc
virtual StatusCode setNumberOfStores(size_t slots) override
Set the number of 'slots'.
std::vector< SG::HiveEventSlot > m_slots
virtual StatusCode initialize() override
virtual StatusCode freeStore(size_t slotIndex) override
Free a store slot.
virtual StatusCode finalize() override
The Athena Transient Store API.