ATLAS Offline Software
Loading...
Searching...
No Matches
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
21namespace Trk {
23 class ExtendedMaterialProperties;
24}
25
26/*-------------------------------------------------------------------------
27 * class IPhotonConversionTool
28 *-------------------------------------------------------------------------*/
29namespace 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
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
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
The generic ISF particle definition,.
Definition ISFParticle.h:42
Material with information about thickness of material.
Interface definition for the handling of nuclear/hadronic interactions, to be used by the MC based ma...
virtual bool pairProduction(const Trk::MaterialProperties &mprop, double pathCorrection, double p) const =0
interface for processing of the pair production
virtual ~IPhotonConversionTool()
Virtual destructor.
virtual bool doConversion(double time, const Trk::NeutralParameters &parm, const Trk::ExtendedMaterialProperties *extMatProp=0) const
interface for processing of the presampled pair production
DeclareInterfaceID(IPhotonConversionTool, 1, 0)
Creates the InterfaceID and interfaceID() method.
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
std::vector< ISF::ISFParticle * > ISFParticleVector
ISFParticle vector.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< NeutralParametersDim, Neutral > NeutralParameters