ATLAS Offline Software
IPhotonConversionTool.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 // IPhotonConversionTool.h, (c) ATLAS Detector software
8 
9 #ifndef ISF_FATRASINTERFACES_IPHOTONCONVERSIONTOOL_H
10 #define ISF_FATRASINTERFACES_IPHOTONCONVERSIONTOOL_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
15 // Event primitives
18 // ISF
20 
21 namespace Trk {
22  class MaterialProperties;
23  class ExtendedMaterialProperties;
24 }
25 
26 /*-------------------------------------------------------------------------
27  * class IPhotonConversionTool
28  *-------------------------------------------------------------------------*/
29 namespace iFatras
30 {
39  class ATLAS_NOT_THREAD_SAFE IPhotonConversionTool : virtual public IAlgTool { // deprecated: ATLASSIM-6020
40 
41  public:
42  virtual ~IPhotonConversionTool(){}
44 
47 
49  virtual bool pairProduction(const Trk::MaterialProperties& mprop,
50  double pathCorrection,
51  double p) const = 0;
52 
54  virtual bool doConversion(double time, const Trk::NeutralParameters& parm,
55  const Trk::ExtendedMaterialProperties* extMatProp=0) const;
56 
58  virtual ISF::ISFParticleVector doConversionOnLayer(const ISF::ISFParticle* parent,
59  double time, const Trk::NeutralParameters& parm,
60  const Trk::ExtendedMaterialProperties *ematprop=0) const;
61 
62  };
63 
64  inline bool IPhotonConversionTool::doConversion(double /*time*/, const Trk::NeutralParameters& /*parm*/,
65  const Trk::ExtendedMaterialProperties* /*ematprop*/) const
66  {
67  return false;
68  }
69 
71  double /*time*/, const Trk::NeutralParameters& /*parm*/,
72  const Trk::ExtendedMaterialProperties* /*ematprop*/) const
73  {
74  ISF::ISFParticleVector cv(0); return cv;
75  }
76 
77 }
78 
79 #endif // ISF_FATRASINTERFACES_IPHOTONCONVERSIONTOOL_H
80 
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
iFatras::IPhotonConversionTool
Definition: IPhotonConversionTool.h:39
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
NeutralParameters.h
ISFParticleContainer.h
iFatras
Definition: ActsFatrasSimTool.h:52
ISF::ISFParticleVector
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
Definition: ISFParticleContainer.h:26
test_pyathena.parent
parent
Definition: test_pyathena.py:15
Trk::ParametersBase
Definition: ParametersBase.h:55
ParticleHypothesis.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
iFatras::IPhotonConversionTool::DeclareInterfaceID
DeclareInterfaceID(IPhotonConversionTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
Trk::MaterialProperties
Definition: MaterialProperties.h:40
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
iFatras::IPhotonConversionTool::doConversion
virtual bool doConversion(double time, const Trk::NeutralParameters &parm, const Trk::ExtendedMaterialProperties *extMatProp=0) const
interface for processing of the presampled pair production
Definition: IPhotonConversionTool.h:64
iFatras::IPhotonConversionTool::pairProduction
virtual bool pairProduction(const Trk::MaterialProperties &mprop, double pathCorrection, double p) const =0
interface for processing of the pair production
checker_macros.h
Define macros for attributes used to control the static checker.
iFatras::IPhotonConversionTool::doConversionOnLayer
virtual ISF::ISFParticleVector doConversionOnLayer(const ISF::ISFParticle *parent, double time, const Trk::NeutralParameters &parm, const Trk::ExtendedMaterialProperties *ematprop=0) const
interface for processing of the presampled conversion on layer
Definition: IPhotonConversionTool.h:70