1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
19 // Class AliMUONTriggerConstants
21 // constants for building the trigger segmentation
22 // to be removed soon (the next version is based on mapping only)
24 #include "AliMUONTriggerConstants.h"
26 ClassImp(AliMUONTriggerConstants)
28 //----------------------------------------------------------------------
29 AliMUONTriggerConstants::AliMUONTriggerConstants()
35 //----------------------------------------------------------------------
36 AliMUONTriggerConstants::~AliMUONTriggerConstants()
42 //----------------------------------------------------------------------
43 const Int_t AliMUONTriggerConstants::fgkNmodule = 126;
45 //----------------------------------------------------------------------
46 // conv : line-column (line : from top to bottom, column : from left to right)
47 const Int_t AliMUONTriggerConstants::fgkModuleId[126] =
48 {11,12,13,14,15,16,17, // right side of the chamber
57 -11,-12,-13,-14,-15,-16,-17, // right side of chamber
58 -21,-22,-23,-24,-25,-26,-27,
59 -31,-32,-33,-34,-35,-36,-37,
60 -41,-42,-43,-44,-45,-46,-47,
61 -51,-52,-53,-54,-55,-56,-57,
62 -61,-62,-63,-64,-65,-66,-67,
63 -71,-72,-73,-74,-75,-76,-77,
64 -81,-82,-83,-84,-85,-86,-87,
65 -91,-92,-93,-94,-95,-96,-97};
67 //----------------------------------------------------------------------
68 const Int_t AliMUONTriggerConstants::fgkNstripX[126]=
69 {16,16,16,16,16,16,16, // right side of the chamber
77 16,16,16,16,16,16,16, // left side of the chamber
86 16,16,16,16,16,16,16};
88 //----------------------------------------------------------------------
89 const Int_t AliMUONTriggerConstants::fgkNstripY[126]=
90 { 8, 8, 8, 8, 8, 8,16, // right side of the chamber
99 8, 8, 8, 8, 8, 8,16, // left side of the chamber
101 16,16,16,16,16, 8,16,
102 16,16,16,16,16, 8,16,
104 16,16,16,16,16, 8,16,
105 16,16,16,16,16, 8,16,
107 8, 8, 8, 8, 8, 8,16};
109 //----------------------------------------------------------------------
110 const Float_t AliMUONTriggerConstants::fgkXcMin[126]=
112 2.,36.,70.,104.,138.,172.,206., // left
113 2.,36.,70.,104.,138.,172.,206.,
114 2.,36.,70.,104.,138.,172.,206.,
115 2.,36.,70.,104.,138.,172.,206.,
116 0.,53.,70.,104.,138.,172.,206.,
117 2.,36.,70.,104.,138.,172.,206.,
118 2.,36.,70.,104.,138.,172.,206.,
119 2.,36.,70.,104.,138.,172.,206.,
120 2.,36.,70.,104.,138.,172.,206.,
121 -36.,-70.,-104.,-138.,-172.,-206.,-257., //right
122 -36.,-70.,-104.,-138.,-172.,-206.,-257.,
123 -36.,-70.,-104.,-138.,-172.,-206.,-257.,
124 -36.,-70.,-104.,-138.,-172.,-206.,-257.,
125 0.,-70.,-104.,-138.,-172.,-206.,-257.,
126 -36.,-70.,-104.,-138.,-172.,-206.,-257.,
127 -36.,-70.,-104.,-138.,-172.,-206.,-257.,
128 -36.,-70.,-104.,-138.,-172.,-206.,-257.,
129 -36.,-70.,-104.,-138.,-172.,-206.,-257.,
132 //----------------------------------------------------------------------
133 const Float_t AliMUONTriggerConstants::fgkXcMax[126]=
135 36.,70.,104.,138.,172.,206.,257., //left
136 36.,70.,104.,138.,172.,206.,257.,
137 36.,70.,104.,138.,172.,206.,257.,
138 36.,70.,104.,138.,172.,206.,257.,
139 0.,70.,104.,138.,172.,206.,257.,
140 36.,70.,104.,138.,172.,206.,257.,
141 36.,70.,104.,138.,172.,206.,257.,
142 36.,70.,104.,138.,172.,206.,257.,
143 36.,70.,104.,138.,172.,206.,257.,
144 -2.,-36.,-70.,-104.,-138.,-172.,-206., // right
145 -2.,-36.,-70.,-104.,-138.,-172.,-206.,
146 -2.,-36.,-70.,-104.,-138.,-172.,-206.,
147 -2.,-36.,-70.,-104.,-138.,-172.,-206.,
148 0.,-53.,-70.,-104.,-138.,-172.,-206.,
149 -2.,-36.,-70.,-104.,-138.,-172.,-206.,
150 -2.,-36.,-70.,-104.,-138.,-172.,-206.,
151 -2.,-36.,-70.,-104.,-138.,-172.,-206.,
152 -2.,-36.,-70.,-104.,-138.,-172.,-206.,
155 //----------------------------------------------------------------------
156 const Int_t AliMUONTriggerConstants::fgkCircuitId[234]=
157 {111, 121, 131, 141, 151, 161, 171,
158 211, 212, 221, 222, 231, 232, 241, 242, 251, 252, 261, 262, 271,
159 311, 312, 321, 322, 331, 332, 341, 342, 351, 352, 361, 362, 371,
160 411, 412, 413, 421, 422, 423, 424, 431, 432, 433, 434, 441, 442,
161 451, 452, 461, 462, 471,
162 521, 522, 523, 524, 531, 532, 533, 534, 541, 542, 551, 552, 561, 562, 571,
163 611, 612, 613, 621, 622, 623, 624, 631, 632, 633, 634, 641, 642,
164 651, 652, 661, 662, 671,
165 711, 712, 721, 722, 731, 732, 741, 742, 751, 752, 761, 762, 771,
166 811, 812, 821, 822, 831, 832, 841, 842, 851, 852, 861, 862, 871,
167 911, 921, 931, 941, 951, 961, 971,
168 -111, -121, -131, -141, -151, -161, -171,
169 -211, -212, -221, -222, -231, -232, -241, -242, -251, -252, -261, -262, -271,
170 -311, -312, -321, -322, -331, -332, -341, -342, -351, -352, -361, -362, -371,
171 -411, -412, -413, -421, -422, -423, -424, -431, -432, -433, -434, -441, -442,
172 -451, -452, -461, -462, -471,
173 -521, -522, -523, -524, -531, -532, -533, -534, -541, -542, -551, -552, -561, -562, -571,
174 -611, -612, -613, -621, -622, -623, -624, -631, -632, -633, -634, -641, -642,
175 -651, -652, -661, -662, -671,
176 -711, -712, -721, -722, -731, -732, -741, -742, -751, -752, -761, -762, -771,
177 -811, -812, -821, -822, -831, -832, -841, -842, -851, -852, -861, -862, -871,
178 -911, -921, -931, -941, -951, -961, -971};
180 //----------------------------------------------------------------------
181 const Float_t AliMUONTriggerConstants::fgkStripWidth[3]={1.0625, 2.125, 4.25};
183 //----------------------------------------------------------------------
184 const Float_t AliMUONTriggerConstants::fgkStripLength[4]={17., 34., 51., 68.};
186 //----------------------------------------------------------------------
187 // methods which returns public static const data
188 //----------------------------------------------------------------------
189 Int_t AliMUONTriggerConstants::Nmodule()
191 // returns fgkNmodule
194 //----------------------------------------------------------------------
195 Int_t AliMUONTriggerConstants::ModuleId(Int_t imodule)
197 // returns fgkModuleId
198 return fgkModuleId[imodule];
200 //----------------------------------------------------------------------
201 Int_t AliMUONTriggerConstants::NstripX(Int_t imodule)
203 // returns fgkNstripX
204 return fgkNstripX[imodule];
206 //----------------------------------------------------------------------
207 Int_t AliMUONTriggerConstants::NstripY(Int_t imodule)
210 return fgkNstripY[imodule];
212 //----------------------------------------------------------------------
213 Float_t AliMUONTriggerConstants::XcMin(Int_t imodule)
216 return fgkXcMin[imodule];
218 //----------------------------------------------------------------------
219 Float_t AliMUONTriggerConstants::XcMax(Int_t imodule)
222 return fgkXcMax[imodule];
224 //----------------------------------------------------------------------
225 Int_t AliMUONTriggerConstants::CircuitId(Int_t icircuit)
227 // returns fgkCircuitId
228 return fgkCircuitId[icircuit];
230 //----------------------------------------------------------------------
231 Float_t AliMUONTriggerConstants::StripWidth(Int_t istrip)
233 // returns fgkStripWidth
234 return fgkStripWidth[istrip];
236 //----------------------------------------------------------------------
237 Float_t AliMUONTriggerConstants::StripLength(Int_t istrip)
239 // returns fgkStripLength
240 return fgkStripLength[istrip];