ATLAS Offline Software
QuadFocuserHorizontal.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #include "FPTracker/Point.h"
9 #include <cmath>
10 #include <iomanip>
11 #include <iostream>
12 namespace FPTracker{
13 
14  void QuadFocuserHorizontal::focus(double qk, double qkl, double qkc, const TransversePoint& dxyz, const Point& dir ) {
15  // ----- horizontally focussing
16  // std::cout<<std::setprecision(9)<<"HFocus: qk "<<qk<<" qkl "<<qkl<<" qkc "<<qkc<<" displ "<<dxyz<<" dir "<<dir<<'\n';
17  m_xe = cos(qkl)* dxyz[0] + sin(qkl)*dir[0]/qkc ;
18  m_xae = -qk*sin(qkl)* dxyz[0] + cos(qkl)*dir[0]/dir[2] ;
19  m_ye = std::cosh(qkl)* dxyz[1] + std::sinh(qkl)*dir[1]/qkc ;
20  m_yae = qk*std::sinh(qkl)* dxyz[1] + std::cosh(qkl)*dir[1]/dir[2] ;
21 
22  }
23 
24  double QuadFocuserHorizontal::xe() const {return m_xe;}
25  double QuadFocuserHorizontal::xae() const {return m_xae;}
26  double QuadFocuserHorizontal::ye() const {return m_ye;}
27  double QuadFocuserHorizontal::yae() const {return m_yae;}
28 
29  const std::string QuadFocuserHorizontal::s_label = "HFocuser";
30  std::string QuadFocuserHorizontal::label() const {return s_label;}
31 }
32 
33 
34 
FPTracker::QuadFocuserHorizontal::focus
void focus(double, double, double, const TransversePoint &displacement, const Point &direction)
Definition: QuadFocuserHorizontal.cxx:14
FPTracker::QuadFocuserHorizontal::ye
double ye() const
Definition: QuadFocuserHorizontal.cxx:26
FPTracker::QuadFocuserHorizontal::s_label
static const std::string s_label
Definition: QuadFocuserHorizontal.h:21
Point.h
TransversePoint.h
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
FPTracker::QuadFocuserHorizontal::m_xe
double m_xe
Definition: QuadFocuserHorizontal.h:23
FPTracker::QuadFocuserHorizontal::m_ye
double m_ye
Definition: QuadFocuserHorizontal.h:25
FPTracker::QuadFocuserHorizontal::m_yae
double m_yae
Definition: QuadFocuserHorizontal.h:26
beamspotman.dir
string dir
Definition: beamspotman.py:623
FPTracker::QuadFocuserHorizontal::yae
double yae() const
Definition: QuadFocuserHorizontal.cxx:27
FPTracker::Point
Definition: FPTracker/FPTracker/Point.h:14
FPTracker::QuadFocuserHorizontal::m_xae
double m_xae
Definition: QuadFocuserHorizontal.h:24
FPTracker::QuadFocuserHorizontal::label
std::string label() const
Definition: QuadFocuserHorizontal.cxx:30
QuadFocuserHorizontal.h
FPTracker
Definition: FPTracker/FPTracker/Beamline.h:12
FPTracker::QuadFocuserHorizontal::xe
double xe() const
Definition: QuadFocuserHorizontal.cxx:24
FPTracker::QuadFocuserHorizontal::xae
double xae() const
Definition: QuadFocuserHorizontal.cxx:25
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
FPTracker::TransversePoint
Definition: FPTracker/FPTracker/TransversePoint.h:12