ATLAS Offline Software
Loading...
Searching...
No Matches
ISimulatorTool.h
Go to the documentation of this file.
1// -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef ISF_ISIMULATORTOOL_H
8#define ISF_ISIMULATORTOOL_H
9
10// Gaudi
11#include "GaudiKernel/IAlgTool.h"
12
13// ISF
15
19
21
22namespace ISF {
23
24class ISimulatorTool : virtual public IAlgTool {
25public:
27
29 virtual StatusCode simulate(const EventContext& ctx, ISFParticle& isp, ISFParticleContainer& secondaries, McEventCollection* mcEventCollection) = 0;
30
32 virtual StatusCode simulateVector(const EventContext& ctx, const ISFParticleVector &particles, ISFParticleContainer& secondaries, McEventCollection *mcEventCollection, McEventCollection *shadowTruth=nullptr) = 0;
33
35 virtual StatusCode setupEvent(const EventContext&) = 0;
36
38 virtual StatusCode setupEventST() = 0;
39
41 virtual StatusCode releaseEvent(const EventContext&) = 0;
42
44 virtual StatusCode releaseEventST() = 0;
45
47 virtual ISF::SimulationFlavor simFlavor() const = 0;
48
49};
50
51}
52
53#endif
The generic ISF particle definition,.
Definition ISFParticle.h:42
virtual StatusCode releaseEvent(const EventContext &)=0
Finalise data containers for an event.
virtual StatusCode simulate(const EventContext &ctx, ISFParticle &isp, ISFParticleContainer &secondaries, McEventCollection *mcEventCollection)=0
Simulation call for individual particles.
virtual StatusCode setupEventST()=0
Create data containers for an event (called by ISimulationSvc)
virtual StatusCode setupEvent(const EventContext &)=0
Create data containers for an event.
virtual StatusCode releaseEventST()=0
Finalise data containers for an event (called by ISimulationSvc)
virtual ISF::SimulationFlavor simFlavor() const =0
return the simulation flavor
DeclareInterfaceID(ISimulatorTool, 1, 0)
virtual StatusCode simulateVector(const EventContext &ctx, const ISFParticleVector &particles, ISFParticleContainer &secondaries, McEventCollection *mcEventCollection, McEventCollection *shadowTruth=nullptr)=0
Simulation call for vectors of particles.
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
ISFParticleOrderedQueue.
int SimulationFlavor
Identifier type for simulation flavor.
std::list< ISF::ISFParticle * > ISFParticleContainer
generic ISFParticle container (not necessarily a std::list!)
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.