ATLAS Offline Software
IFastSimulation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4ATLASINTERFACES_IFASTSIMULATION_H
6 #define G4ATLASINTERFACES_IFASTSIMULATION_H
7 
8 #include "GaudiKernel/IAlgTool.h"
9 
17 class G4VFastSimulationModel;
18 
19 class IFastSimulation : virtual public IAlgTool {
20  public:
22  virtual ~IFastSimulation() {}
29 
33 
39 
40  protected:
44  virtual G4VFastSimulationModel* makeFastSimModel() = 0;
45 };
46 
47 #endif
IFastSimulation::DeclareInterfaceID
DeclareInterfaceID(IFastSimulation, 1, 0)
Creates the InterfaceID and interfaceID() method.
IFastSimulation::~IFastSimulation
virtual ~IFastSimulation()
Definition: IFastSimulation.h:22
IFastSimulation::IFastSimulation
IFastSimulation()
Definition: IFastSimulation.h:21
IFastSimulation::BeginOfAthenaEvent
virtual StatusCode BeginOfAthenaEvent()=0
Method to be called at the beginning of the athena event.
IFastSimulation::initializeFastSim
virtual StatusCode initializeFastSim()=0
Method to initialize the Fast Simulation mdoel itself - this is our hook for initialization in G4,...
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IFastSimulation
Definition: IFastSimulation.h:19
IFastSimulation::EndOfAthenaEvent
virtual StatusCode EndOfAthenaEvent()=0
Method to be called at the end of the athena event.
IFastSimulation::makeFastSimModel
virtual G4VFastSimulationModel * makeFastSimModel()=0
Method to make the actual fast simulation model itself, which will be owned by the tool.