130 Int_t iType = sensorPar->
GetType();
131 Double_t x0 = sensorPar->
GetX0();
132 Double_t y0 = sensorPar->
GetY0();
133 Double_t
z0 = sensorPar->
GetZ0();
135 Double_t lx = sensorPar->
GetLx();
136 Double_t ly = sensorPar->
GetLy();
137 Double_t
d = sensorPar->
GetD();
138 Double_t dx = sensorPar->
GetDx();
139 Double_t dy = sensorPar->
GetDy();
144 if (fSensorMap.find(iSensor) != fSensorMap.end()) {
145 cout <<
"-W- " << fName <<
"::AddSensor: Sensor number " << iSensor <<
" already existing for sector "
151 Int_t sensorId = fDetectorId | iSensor << 1;
154 Int_t nSensors = fSensors->GetEntries();
158 rotRel, lx, ly,
d, dx, dy, stereoF, stereoB);
159 fSensors->Add(tempSens);
176 fNChannelsFront = nofChF;
177 fNChannelsBack = nofChB;
180 LOG(fatal) <<
"Sensor types do not match: " << fType <<
" vs " << iType;
181 if (fRotation != rotRel)
182 LOG(fatal) <<
"Sensor rotation do not match";
184 LOG(fatal) <<
"Sensor dx do not match";
186 LOG(fatal) <<
"Sensor dy do not match";
187 if (fStereoF != stereoF)
188 LOG(fatal) <<
"Sensor stereoF do not match";
189 if (fStereoB != stereoB)
190 LOG(fatal) <<
"Sensor stereoB do not match";
191 if (fSigmaX != sigmaX)
192 LOG(fatal) <<
"Sensor sigmaX do not match";
194 if (fSigmaY != sigmaY)
195 LOG(fatal) <<
"Sensor sigmaY do not match";
196 if (fSigmaXY != sigmaXY)
197 LOG(fatal) <<
"Sensor sigmaXY do not match";
198 if (fNChannelsFront != nofChF)
199 LOG(fatal) <<
"Sensor nofChanF do not match";
200 if (fNChannelsBack != nofChB)
201 LOG(fatal) <<
"Sensor nofChanB do not match";
204 fSensorMap[iSensor] = nSensors;
213 Int_t nSensors = fSensors->GetEntries();
215 Int_t iType = sensor->
GetType();
217 Double_t dx = sensor->
GetDx();
218 Double_t dy = sensor->
GetDy();
236 fNChannelsFront = nofChF;
237 fNChannelsBack = nofChB;
240 LOG(fatal) <<
"Sensor types do not match: " << fType <<
" vs " << iType;
241 if (fRotation != rotRel)
242 LOG(fatal) <<
"Sensor rotation do not match";
244 LOG(fatal) <<
"Sensor dx do not match";
246 LOG(fatal) <<
"Sensor dy do not match";
247 if (fStereoF != stereoF)
248 LOG(fatal) <<
"Sensor stereoF do not match";
249 if (fStereoB != stereoB)
250 LOG(fatal) <<
"Sensor stereoB do not match";
251 if (fSigmaX != sigmaX)
252 LOG(fatal) <<
"Sensor sigmaX do not match";
254 if (fSigmaY != sigmaY)
255 LOG(fatal) <<
"Sensor sigmaY do not match";
256 if (fSigmaXY != sigmaXY)
257 LOG(fatal) <<
"Sensor sigmaXY do not match";
259 if (fNChannelsFront != nofChF)
260 LOG(fatal) <<
"Sensor nofChanF do not match";
261 if (fNChannelsBack != nofChB)
262 LOG(fatal) <<
"Sensor nofChanB do not match";
265 fSensors->Add(sensor);
267 fSensorMap[iSensor] = nSensors;
275 Double_t xPoint = xCross, yPoint = yCross;
281 Double_t xTemp = xPoint, yTemp = yPoint, zTemp = 0.;
283 Int_t tempDetId = -1;
284 Int_t returnDetId = -1;
287 for (Int_t iSens = 0; iSens <
GetNSensors(); iSens++) {
290 tempDetId = sensor->
Intersect(iFStrip, iBStrip, xTemp, yTemp, zTemp);
295 if (TMath::Abs(TMath::Abs(fStereoF - fStereoB) * TMath::RadToDeg() - 90) < 0.1) {
299 if (zCross > 0.001) {
300 LOG(fatal) <<
"Software do not cope with two strips intersecting in different regions";
306 returnDetId = tempDetId;
325 Double_t xTemp, yTemp, zTemp = 0.;
327 Int_t tempDetId = -1;
328 Int_t returnDetId = -1;
331 for (Int_t iSens = 0; iSens <
GetNSensors(); iSens++) {
340 LOG(fatal) <<
"Software do not cope with two strips intersecting in different regions";
345 returnDetId = tempDetId;