![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
28 const double SPwid = 0.32369;
29 const double Setamin = 1.97667;
30 const double Setamax = 2.76781;
31 const double SDisplace = (7441.+7518.)/2.;
32 const double SAtanNormal = 0.20223129856437;
71 const double LPwid = 0.514507;
72 const double Letamin = 2.01471;
73 const double Letamax = 2.75914;
74 const double LDisplace = (7800.+7880.)/2.;
75 const double LAtanNormal = 0.20223129856437;
121 return StatusCode::SUCCESS;
127 int sname, seta, sphi;
128 if (stationname == 50 || stationname == 51) sname = stationname-50;
132 if (stationeta == 1 || stationeta ==-1) seta = ((stationeta == 1)? 1:0);
136 if (stationphi >=1 || stationeta <=8) sphi = stationphi-1;
160 for (
int sname=0; sname<2; ++sname) {
161 for (
int seta=0; seta<2; ++seta) {
162 for (
int sphi=0; sphi<8; ++sphi) {
164 ATH_MSG_DEBUG(
"module_hash:" <<
hash <<
" StationName:" << sname+50 <<
" StationEta:" << (seta ? 1 : -1) <<
" StationPhi:" << sphi+1 );
209 double abs_y=std::abs(
y);
210 double abs_sine=abs_y/std::sqrt(
x*
x+
y*
y);
214 return std::asin(abs_sine);
215 }
else if(x<=0 && y>0){
216 return M_PI-std::asin(abs_sine);
217 }
else if(
x<0 &&
y<=0){
218 return M_PI+std::asin(abs_sine)-2*
M_PI;
219 }
else if(
x>=0 &&
y<0){
220 return 2*
M_PI-std::asin(abs_sine)-2*
M_PI;
231 double dphi=phi1-phi2;
235 }
else if(dphi < (-1)*
M_PI){
247 if (phi1*phi2<0. && std::abs(phi1)>
M_PI/2.){
249 double tmp1 = (phi1>0.) ? phi1 -
M_PI : phi1 +
M_PI;
258 phi = (phi1+phi2)/2.;
int m_module_hashes[2][2][8]
double PhiConv(double phi)
double idealAtanNormal(int module) const
Scalar phi() const
phi method
double posCorrectionZ(int module, int charge)
Scalar theta() const
theta method
ReturnCode initializePosCorrectionParameters()
double posCorrectionPlusR
ReturnCode initializeDictionaryForData()
ReturnCode initializeHashDictionary()
int stationName(int hash) const
virtual StatusCode initialize() override
CscRegDict(const std::string &type, const std::string &name, const IInterface *parent)
::StatusCode StatusCode
StatusCode definition for legacy code.
double charge(const T &p)
int get_hash(int stationname, int stationeta, int stationphi) const
Eigen::Matrix< double, 3, 1 > Vector3D
int stationPhi(int hash) const
int stationEta(int hash) const
TrigL2MuonSA::UtilTools m_util
double posCorrectionR(int module, int charge)
Amg::Vector3D nomalVector(int module) const
double posCorrectionMinusR