|
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;
35 for (
int phi=0; phi<8; ++phi) {
52 for (
int phi=0; phi<8; ++phi) {
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;
78 for (
int phi=0; phi<8; ++phi) {
95 for (
int phi=0; phi<8; ++phi) {
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
double posCorrectionZ(int module, int charge)
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