ATLAS Offline Software
IParticleDecayHelper.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 // IParticleDecayHelper.h, (c) ATLAS Detector software
8 
9 #ifndef ISF_FATRASINTERFACES_IPARTICLEDECAYHELPER_H
10 #define ISF_FATRASINTERFACES_IPARTICLEDECAYHELPER_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
15 
16 // Amg
18 
19 namespace ISF
20 {
21  class ISFParticle;
22 }
23 
24 namespace iFatras
25 {
26 
43  class ATLAS_NOT_THREAD_SAFE IParticleDecayHelper : virtual public IAlgTool // deprecated: ATLASSIM-6020
44  {
45  public:
46 
49 
52 
54  virtual double freePath(const ISF::ISFParticle& isp) const = 0;
55 
57  virtual void decay(const ISF::ISFParticle& isp,
58  const Amg::Vector3D& vertex,
59  const Amg::Vector3D& mom,
60  double timeStamp = 0.) const = 0;
61 
63  virtual std::vector<ISF::ISFParticle*> decayParticle( const ISF::ISFParticle& parent,
64  const Amg::Vector3D& vertex,
65  const Amg::Vector3D& mom,
66  double timeStamp = 0.) const = 0;
67  };
68 
69 }
70 
71 #endif // ISF_FATRASINTERFACES_IPARTICLEDECAYHELPER_H
72 
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
ISF::ISFParticle
Definition: ISFParticle.h:42
iFatras::IParticleDecayHelper::~IParticleDecayHelper
virtual ~IParticleDecayHelper()
Virtual destructor.
Definition: IParticleDecayHelper.h:48
iFatras::IParticleDecayHelper
Definition: IParticleDecayHelper.h:44
iFatras
Definition: ActsFatrasSimTool.h:52
GeoPrimitives.h
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
iFatras::IParticleDecayHelper::decayParticle
virtual std::vector< ISF::ISFParticle * > decayParticle(const ISF::ISFParticle &parent, const Amg::Vector3D &vertex, const Amg::Vector3D &mom, double timeStamp=0.) const =0
decay
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
xAOD::timeStamp
setEventNumber timeStamp
Definition: EventInfo_v1.cxx:128
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
iFatras::IParticleDecayHelper::decay
virtual void decay(const ISF::ISFParticle &isp, const Amg::Vector3D &vertex, const Amg::Vector3D &mom, double timeStamp=0.) const =0
decay (includes handling of secondaries)
iFatras::IParticleDecayHelper::DeclareInterfaceID
DeclareInterfaceID(IParticleDecayHelper, 1, 0)
Creates the InterfaceID and interfaceID() method.
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
checker_macros.h
Define macros for attributes used to control the static checker.
iFatras::IParticleDecayHelper::freePath
virtual double freePath(const ISF::ISFParticle &isp) const =0
free path estimator (-1 for stable particle)