ATLAS Offline Software
Loading...
Searching...
No Matches
QuadFocuserVertical.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
13namespace FPTracker{
14
15 void QuadFocuserVertical::focus(double qk, double qkl, double qkc, const TransversePoint& dxyz, const Point& dir ) {
16 //std::cout<<std::setprecision(9)<<"VFocus: qk "<<qk<<" qkl "<<qkl<<" qkc "<<qkc<<" displ "<<dxyz<<" dir "<<dir<<'\n';
17 m_ye = std::cos(qkl)* dxyz[1] + std::sin(qkl)*dir[1]/qkc ;
18 m_yae = -qk*std::sin(qkl)* dxyz[1] + std::cos(qkl)*dir[1]/dir[2] ;
19 m_xe = std::cosh(qkl)* dxyz[0] + std::sinh(qkl)*dir[0]/qkc ;
20 m_xae = qk*std::sinh(qkl)* dxyz[0] + std::cosh(qkl)*dir[0]/dir[2] ;
21 }
22
23 double QuadFocuserVertical::xe() const {return m_xe;}
24 double QuadFocuserVertical::xae() const {return m_xae;}
25 double QuadFocuserVertical::ye() const {return m_ye;}
26 double QuadFocuserVertical::yae() const {return m_yae;}
27
28 const std::string QuadFocuserVertical::s_label = "VFocuser";
29 std::string QuadFocuserVertical::label() const {return s_label;}
30}
31
32
33
static const std::string s_label
void focus(double, double, double, const TransversePoint &displacement, const Point &direction)