ATLAS Offline Software
AFPProtonTransportTool.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 TRIGAFPHYPO_AFPPROTONTRANSPORTTOOL_H
6 #define TRIGAFPHYPO_AFPPROTONTRANSPORTTOOL_H
7 
11 
12 #include <string>
13 
25 public:
26  AFPProtonTransportTool(const std::string & type, const std::string & name, const IInterface* parent);
27 
28  virtual ~AFPProtonTransportTool();
29 
30  virtual StatusCode initialize() override;
31 
33  virtual StatusCode load() override;
34 
35  virtual void setParamFile(const std::string& paramFile) override { m_filename = paramFile; }
36 
38  virtual double x(double x0, double y0, double z0, double sx0, double sy0, double E) const override {
40  sy0 + m_ySlopeInitIP, E);
41  }
42 
44  double y(double x0, double y0, double z0, double sx0, double sy0, double E) const {
46  sy0 + m_ySlopeInitIP, E);
47  }
48 
50  double sx(double x0, double y0, double z0, double sx0, double sy0, double E) const {
52  sy0 + m_ySlopeInitIP, E);
53  }
54 
56  double sy(double x0, double y0, double z0, double sx0, double sy0, double E) const {
58  }
59 
62 
64  double energy() const {return m_energy;};
65 private:
66 
75 
77  Gaudi::Property<double> m_xSlopeInitIP {this, "xSlopeInitIp", 0, "Initial x slope at IP"};
79  Gaudi::Property<double> m_ySlopeInitIP {this, "ySlopeInitIp", 0, "Initial y slope at IP"};
81  Gaudi::Property<double> m_xPositionInitIP {this, "xPositionInitIp", 0, "Initial x position at IP"};
83  Gaudi::Property<double> m_yPositionInitIP {this, "yPositionInitIp", 0, "Initial y position at IP"};
85  Gaudi::Property<double> m_zPositionInitIP {this, "zPositionInitIp", 0, "Initial z position at IP"};
87  Gaudi::Property<double> m_energy {this, "beamEnergy", 0, "Nominal beam energy"};
89  Gaudi::Property<double> m_parametrisationPosition {this, "parameterisationPosition", 0, "Detector position for which parameterisation was derived"};
90 
91  Gaudi::Property<std::string> m_filename {this, "filename", "", "Parameterisation file"};
92 
93 };
94 
95 #endif
AFPProtonTransportTool
Class for the tool that parameterizes proton transport.
Definition: AFPProtonTransportTool.h:24
AFPProtonTransportTool::m_parametrisationPosition
Gaudi::Property< double > m_parametrisationPosition
Detector position for which the parameterisation has been done.
Definition: AFPProtonTransportTool.h:89
AFPProtonTransportTool::sy
double sy(double x0, double y0, double z0, double sx0, double sy0, double E) const
Evaluates value of vertical slope equation. It takes as arguments the initial position,...
Definition: AFPProtonTransportTool.h:56
AFPProtonTransportParam.h
AFPProtonTransportTool::m_ySlopeInitIP
Gaudi::Property< double > m_ySlopeInitIP
Beam crossing angle from y axis at the interaction point.
Definition: AFPProtonTransportTool.h:79
jobOptions.paramFile
string paramFile
Definition: jobOptions.crmc.py:12
AFPProtonTransportParam::evaluate
double evaluate(double x0, double y0, double z0, double sx, double sy, double E) const
This function evaluates value of the parameterization given a certain polynomial. It takes as argumen...
Definition: AFPProtonTransportParam.cxx:17
AFPProtonTransportTool::sx
double sx(double x0, double y0, double z0, double sx0, double sy0, double E) const
Evaluates value of horizontal slope equation. It takes as arguments the initial position,...
Definition: AFPProtonTransportTool.h:50
AFPProtonTransportTool::setParamFile
virtual void setParamFile(const std::string &paramFile) override
Definition: AFPProtonTransportTool.h:35
AFPProtonTransportTool::parametrisationPosition
double parametrisationPosition() const
Returns the detector position for which parametrization was performed.
Definition: AFPProtonTransportTool.h:61
AFPProtonTransportTool::x
virtual double x(double x0, double y0, double z0, double sx0, double sy0, double E) const override
Evaluates value of the horizontal position equation. It takes as arguments the initial position,...
Definition: AFPProtonTransportTool.h:38
AFPProtonTransportTool::m_x_position
AFPProtonTransportParam * m_x_position
AFPProtonTransportParam object used for the x position evaluation.
Definition: AFPProtonTransportTool.h:68
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IAFPProtonTransportTool
Definition: IAFPProtonTransportTool.h:10
AFPProtonTransportTool::m_yPositionInitIP
Gaudi::Property< double > m_yPositionInitIP
Proton's initial y position at the interaction point.
Definition: AFPProtonTransportTool.h:83
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
AFPProtonTransportTool::m_xSlopeInitIP
Gaudi::Property< double > m_xSlopeInitIP
Beam crossing angle from x axis at the interaction point.
Definition: AFPProtonTransportTool.h:77
AFPProtonTransportTool::~AFPProtonTransportTool
virtual ~AFPProtonTransportTool()
Definition: AFPProtonTransportTool.cxx:24
TRT::Track::z0
@ z0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:63
AFPProtonTransportTool::m_filename
Gaudi::Property< std::string > m_filename
Definition: AFPProtonTransportTool.h:91
AFPProtonTransportTool::m_y_slope
AFPProtonTransportParam * m_y_slope
AFPProtonTransportParam object used for the y slope.
Definition: AFPProtonTransportTool.h:74
AFPProtonTransportTool::m_y_position
AFPProtonTransportParam * m_y_position
AFPProtonTransportParam object used for the y position evaluation.
Definition: AFPProtonTransportTool.h:70
AFPProtonTransportParam
Class for the parameterization used by the proton transport tool.
Definition: AFPProtonTransportParam.h:16
AFPProtonTransportTool::AFPProtonTransportTool
AFPProtonTransportTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: AFPProtonTransportTool.cxx:11
AFPProtonTransportTool::initialize
virtual StatusCode initialize() override
Definition: AFPProtonTransportTool.cxx:17
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
AFPProtonTransportTool::m_x_slope
AFPProtonTransportParam * m_x_slope
AFPProtonTransportParam object used for the x slope.
Definition: AFPProtonTransportTool.h:72
AFPProtonTransportTool::m_energy
Gaudi::Property< double > m_energy
Nominal beam energy.
Definition: AFPProtonTransportTool.h:87
AFPProtonTransportTool::m_zPositionInitIP
Gaudi::Property< double > m_zPositionInitIP
Proton's initial z position at the interaction point.
Definition: AFPProtonTransportTool.h:85
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IAFPProtonTransportTool.h
AFPProtonTransportTool::load
virtual StatusCode load() override
Loads parametrization file and gets the value of positions, slopes and nominal energy....
Definition: AFPProtonTransportTool.cxx:26
AthAlgTool
Definition: AthAlgTool.h:26
AFPProtonTransportTool::m_xPositionInitIP
Gaudi::Property< double > m_xPositionInitIP
Proton's initial x position at the interaction point.
Definition: AFPProtonTransportTool.h:81
AFPProtonTransportTool::energy
double energy() const
Returns nominal beam energy for which parametrization was performed.
Definition: AFPProtonTransportTool.h:64
AFPProtonTransportTool::y
double y(double x0, double y0, double z0, double sx0, double sy0, double E) const
Evaluates value of vertical position equation. It takes as arguments the initial position,...
Definition: AFPProtonTransportTool.h:44