ATLAS Offline Software
Loading...
Searching...
No Matches
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>
12namespace 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
void focus(double, double, double, const TransversePoint &displacement, const Point &direction)