17 {
18 m_plane = (multiplet-1)*4 + gasGap-1;
19
21 case 0:
22 case 1:
23 case 6:
24 case 7:
26 break;
27 case 2:
28 case 4:
30 break;
31 case 3:
32 case 5:
34 break;
35 }
36
37
39
40
41 const int region =
int(
float(istrip)/(64*8));
42
43
44 unsigned int mmfe8s[8][16];
45
46 for(
unsigned int L=0;
L<8;
L++){
47
48 for(
unsigned int p=1;
p<9;
p++){
49
50 for(
unsigned int s=0;
s<2;
s++){
51 unsigned int R = (
L%2==
s) ? (p-1)*2 : (
p-1)*2+1;
53 }
54 }
55 }
56
58
60 if (mmfe8s[
m_plane][region]==1){
62 }else{
64 }
65 }else{
66 if (mmfe8s[
m_plane][region]==0){
68 }else{
70 }
71 }
72
73
76 }
77
81 m_R = globalPos.perp();
85 const double distanceFromZAxis = readout->
absTransform().translation().perp() - 0.5*readout->
getRsize();
86
89 int tmpStrip = (roEl->
getDesign(tmpId))->nMissedBottomEta + 1;
91 globalPos = Amg::Vector3D::Zero();
94 m_Rp = distanceFromZAxis + (0.1 +
index*((0.6 - 0.1)/1000.))*(std::abs(
m_Z) - globalPos.z());
96 }
97 }
98}
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int gasGap, int channel) const
const MuonChannelDesign * getDesign(const Identifier &id) const
returns the MuonChannelDesign class for the given identifier
bool stripGlobalPosition(const Identifier &id, Amg::Vector3D &gpos) const
const MmIdHelper * mmIdHelper() const
const MMReadoutElement * getMMReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
const Amg::Transform3D & absTransform() const
Eigen::Matrix< double, 3, 1 > Vector3D
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)