ATLAS Offline Software
Loading...
Searching...
No Matches
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
18class G4VFastSimulationModel;
19
20class IFastSimulation : virtual public IAlgTool {
21 public:
23 virtual ~IFastSimulation() {}
29 virtual StatusCode initializeFastSim() = 0;
30
33 virtual StatusCode BeginOfAthenaEvent(HitCollectionMap&) = 0;
34
39 virtual StatusCode EndOfAthenaEvent(HitCollectionMap&) = 0;
40
41 protected:
45 virtual G4VFastSimulationModel* makeFastSimModel() = 0;
46};
47
48#endif
Small wrapper around hit collection map to facilitate accessing the hit collection.
virtual G4VFastSimulationModel * makeFastSimModel()=0
Method to make the actual fast simulation model itself, which will be owned by the tool.
virtual ~IFastSimulation()
virtual StatusCode BeginOfAthenaEvent(HitCollectionMap &)=0
Method to be called at the beginning of the athena event.
DeclareInterfaceID(IFastSimulation, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual StatusCode initializeFastSim()=0
Method to initialize the Fast Simulation mdoel itself - this is our hook for initialization in G4,...
virtual StatusCode EndOfAthenaEvent(HitCollectionMap &)=0
Method to be called at the end of the athena event.