ATLAS Offline Software
Loading...
Searching...
No Matches
IMinbiasSvc.h
Go to the documentation of this file.
1/* -*- C++ -*- */
2/*
3 Copyright (C) 2022 CERN for the benefit of the ATLAS collaboration
4*/
5
6#ifndef IMINBIASSVC_H
7#define IMINBIASSVC_H
8
9#include <cstdint>
10#include <vector>
11
12#include "GaudiKernel/IService.h"
14
15class IMinbiasSvc : virtual public IService {
16 public:
17 virtual StatusCode beginHardScatter(
18 const EventContext& ctx) = 0;
21 const EventContext& ctx,
22 std::uint64_t mb_id) = 0;
23 virtual std::size_t getNumForBunch(
24 const EventContext& ctx,
25 int bunch) const = 0;
27
28 virtual std::int64_t get_hs_id(const EventContext& ctx) const = 0;
29 virtual StatusCode endHardScatter(
30 const EventContext& ctx) = 0;
32
35};
36
37#endif // IMINBIASSVC_H
virtual StatusCode endHardScatter(const EventContext &ctx)=0
virtual std::int64_t get_hs_id(const EventContext &ctx) const =0
Return number of minbias events to use for a specific bunch crossing.
virtual std::size_t getNumForBunch(const EventContext &ctx, int bunch) const =0
Get a minbias event.
DeclareInterfaceID(IMinbiasSvc, 1, 1)
Tell IMinbiasSvc we're done with a hard scatter.
virtual StatusCode beginHardScatter(const EventContext &ctx)=0
virtual StoreGateSvc * getMinbias(const EventContext &ctx, std::uint64_t mb_id)=0
Tell IMinbiasSvc we're starting a hard scatter.
The Athena Transient Store API.