CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
const std::vector< std::shared_ptr< const TSpline3 > > & splines() const
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
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...