CMS 3D CMS Logo

LHCInterpolatedOpticalFunctionsSet.h
Go to the documentation of this file.
1 // Original Author: Jan Kašpar
2 
3 #ifndef CondFormats_PPSObjects_LHCInterpolatedOpticalFunctionsSet_h
4 #define CondFormats_PPSObjects_LHCInterpolatedOpticalFunctionsSet_h
5 
7 
8 #include "TSpline.h"
9 
12 
15 public:
17 
19 
21 
22  const std::vector<std::shared_ptr<const TSpline3>> &splines() const { return m_splines; }
23 
25  void initializeSplines();
26 
28  struct Kinematics {
29  double x; // physics vertex position (beam offset subtracted), cm
30  double th_x; // physics scattering angle (crossing angle subtracted), rad
31  double y; // physics vertex position, cm
32  double th_y; // physics scattering angle, rad
33  double xi; // relative momentum loss (positive for diffractive protons)
34  };
35 
37  void transport(const Kinematics &input, Kinematics &output, bool calculateAngles = false) const;
38 
39 protected:
42 
43  std::vector<std::shared_ptr<const TSpline3>> m_splines;
44 };
45 
46 #endif
LHCInterpolatedOpticalFunctionsSet(const LHCOpticalFunctionsSet &src)
static std::string const input
Definition: EdmProvDump.cc:47
std::vector< std::shared_ptr< const TSpline3 > > m_splines
void initializeSplines()
builds splines from m_*_values fields
void transport(const Kinematics &input, Kinematics &output, bool calculateAngles=false) const
transports proton according to the splines
const std::vector< std::shared_ptr< const TSpline3 > > & splines() const
Set of optical functions corresponding to one scoring plane along LHC.
Set of optical functions corresponding to one scoring plane along LHC, including splines for interpol...