ATLAS Offline Software
IActsGeantFollowerHelper.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 IACTSGeantFollowerHelper_H
6 #define IACTSGeantFollowerHelper_H
7 
8 // Gaudi
9 #include "GaudiKernel/IAlgTool.h"
10 
11 #include "G4ThreeVector.hh"
12 
14 static const InterfaceID IID_IActsGeantFollowerHelper("IActsGeantFollowerHelper", 1, 0);
15 
16 class IActsGeantFollowerHelper : virtual public IAlgTool {
17  public:
18 
21 
23  static const InterfaceID& interfaceID() { return IID_IActsGeantFollowerHelper; }
24 
25  // Follower interface
26  // a) begin event - initialize follower process
27  virtual void beginEvent() = 0;
28  // b) track the particle
29  virtual void trackParticle(const G4ThreeVector& pos, const G4ThreeVector& mom, int pdg, double charge, float t, float X0, bool isSensitive) = 0;
30  // c) end event - ntuple writing
31  virtual void endEvent() = 0;
32 
33 };
34 
35 
36 #endif // IActsGeantFollowerHelper_H
IActsGeantFollowerHelper::endEvent
virtual void endEvent()=0
IActsGeantFollowerHelper
Definition: IActsGeantFollowerHelper.h:16
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
pdg_comparison.X0
X0
Definition: pdg_comparison.py:314
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
IActsGeantFollowerHelper::interfaceID
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
Definition: IActsGeantFollowerHelper.h:23
charge
double charge(const T &p)
Definition: AtlasPID.h:756
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
IActsGeantFollowerHelper::beginEvent
virtual void beginEvent()=0
IActsGeantFollowerHelper::trackParticle
virtual void trackParticle(const G4ThreeVector &pos, const G4ThreeVector &mom, int pdg, double charge, float t, float X0, bool isSensitive)=0
IActsGeantFollowerHelper::~IActsGeantFollowerHelper
virtual ~IActsGeantFollowerHelper()
Virtual destructor.
Definition: IActsGeantFollowerHelper.h:20