ATLAS Offline Software
Loading...
Searching...
No Matches
IGeantFollowerHelper.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// IGeantFollowerHelperFollowerHelper.h, (c) ATLAS Detector software
8
9#ifndef IGeantFollowerHelper_H
10#define IGeantFollowerHelper_H
11
12// Gaudi
13#include "GaudiKernel/IAlgTool.h"
14
15#include "G4ThreeVector.hh"
16
17namespace Trk {
18
20 static const InterfaceID IID_IGeantFollowerHelper("IGeantFollowerHelper", 1, 0);
21
26 class IGeantFollowerHelper : virtual public IAlgTool {
27 public:
28
31
33 static const InterfaceID& interfaceID() { return IID_IGeantFollowerHelper; }
34
35 // Follower interface
36 // a) begin event - initialize follower process
37 virtual void beginEvent() = 0;
38 // b) track the particle
39 virtual void trackParticle(const G4ThreeVector& pos, const G4ThreeVector& mom, int pdg, double charge, float t, float X0) = 0;
40 // c) end event - ntuple writing
41 virtual void endEvent() = 0;
42
43 };
44
45
46} // end of namespace
47
48#endif // IGeantFollowerHelper_H
double charge(const T &p)
Definition AtlasPID.h:997
virtual ~IGeantFollowerHelper()
Virtual destructor.
virtual void trackParticle(const G4ThreeVector &pos, const G4ThreeVector &mom, int pdg, double charge, float t, float X0)=0
static const InterfaceID & interfaceID()
AlgTool and IAlgTool interface methods.
virtual void beginEvent()=0
virtual void endEvent()=0
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID IID_IGeantFollowerHelper("IGeantFollowerHelper", 1, 0)
Interface ID for IGeantFollowerHelperFollowerHelper.