CMS 3D CMS Logo

LHCInterpolatedOpticalFunctionsSet.h
Go to the documentation of this file.
1 // Original Author: Jan Kašpar
2 
3 #ifndef CondFormats_CTPPSReadoutObjects_LHCInterpolatedOpticalFunctionsSet_h
4 #define CondFormats_CTPPSReadoutObjects_LHCInterpolatedOpticalFunctionsSet_h
5 
7 
8 #include "TSpline.h"
9 
12 
15 {
16  public:
18 
20 
22 
23  const std::vector<std::shared_ptr<const TSpline3>>& splines() const { return m_splines; }
24 
26  void initializeSplines();
27 
29  struct Kinematics
30  {
31  double x; // physics vertex position (beam offset subtracted), cm
32  double th_x; // physics scattering angle (crossing angle subtracted), rad
33  double y; // physics vertex position, cm
34  double th_y; // physics scattering angle, rad
35  double xi; // relative momentum loss (positive for diffractive protons)
36  };
37 
39  void transport(const Kinematics &input, Kinematics &output, bool calculateAngles = false) const;
40 
41  protected:
44 
45  std::vector<std::shared_ptr<const TSpline3>> m_splines;
46 };
47 
48 #endif
LHCInterpolatedOpticalFunctionsSet(const LHCOpticalFunctionsSet &src)
static std::string const input
Definition: EdmProvDump.cc:48
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...