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 **************************************************************************/
18 Revision 1.9 2001/02/03 00:00:30 nilsen
19 New version of AliITSgeom and related files. Now uses automatic streamers,
20 set up for new formatted .det file which includes detector information.
21 Additional smaller modifications are still to come.
23 Revision 1.8 2000/10/02 16:32:35 barbera
24 Forward declaration added
26 Revision 1.2.4.8 2000/10/02 15:52:05 barbera
27 Forward declaration added
29 Revision 1.7 2000/07/10 16:07:18 fca
30 Release version of ITS code
32 Revision 1.2.4.2 2000/03/04 23:55:35 nilsen
33 Fixed up comments/documentation.
35 Revision 1.2.4.1 2000/01/12 19:03:32 nilsen
36 This is the version of the files after the merging done in December 1999.
37 See the ReadMe110100.txt file for details
39 Revision 1.2 1999/09/29 09:24:20 fca
40 Introduction of the Copyright and cvs Log
49 #include "AliITSgeomSDD.h"
51 ClassImp(AliITSgeomSDD)
52 AliITSgeomSDD::AliITSgeomSDD(){
53 ////////////////////////////////////////////////////////////////////////
54 // default constructor
55 ////////////////////////////////////////////////////////////////////////
56 // const Float_t kDx = 3.500;//cm. (Geant 3.12 units) Orthonormal to y and z
57 // const Float_t kDy = 0.014;//cm. (Geant 3.12 units) Radialy from the Beam
58 // const Float_t kDz = 3.763;//cm. (Geant 3.12 units) Allong the Beam Pipe
60 // cout << "AliITSgeomSDD default creator called: start" << endl;
70 // cout << "AliITSgeomSDD default creator called: end" << endl;
72 //________________________________________________________________________
73 AliITSgeomSDD::AliITSgeomSDD(const Float_t *box,Float_t per,Float_t vel,
74 Float_t axL,Float_t axR,
75 Int_t nAL,Float_t *leL,
76 Int_t nAR,Float_t *leR){
77 ////////////////////////////////////////////////////////////////////////
78 // Standard constructor
79 ////////////////////////////////////////////////////////////////////////
89 ResetSDD(box,per,vel,axL,axR,nAL,leL,nAR,leR);
91 //________________________________________________________________________
92 void AliITSgeomSDD::ResetSDD(const Float_t *box,Float_t per,Float_t vel,
93 Float_t axL,Float_t axR,
94 Int_t nAL,Float_t *leL,
95 Int_t nAR,Float_t *leR){
96 ////////////////////////////////////////////////////////////////////////
98 ////////////////////////////////////////////////////////////////////////
107 // if(fAnodeLowEdgeL!=0) delete fAnodeLowEdgeL;
108 fAnodeLowEdgeL = new Float_t[fNAnodesL];
109 // if(fAnodeLowEdgeR!=0) delete fAnodeLowEdgeR;
110 fAnodeLowEdgeR = new Float_t[fNAnodesR];
111 for(i=0;i<fNAnodesL;i++) fAnodeLowEdgeL[i] = leL[i];
112 for(i=0;i<fNAnodesR;i++) fAnodeLowEdgeR[i] = leR[i];
113 fShapeSDD = new TBRIK("ActiveSDD","Active volume of SDD","SDD SI DET",
114 box[0],box[1],box[2]);
116 //________________________________________________________________________
117 AliITSgeomSDD::~AliITSgeomSDD(){
120 if(fShapeSDD!=0) delete fShapeSDD;
121 if(fAnodeLowEdgeL!=0) delete fAnodeLowEdgeL;
122 if(fAnodeLowEdgeR!=0) delete fAnodeLowEdgeR;
133 //________________________________________________________________________
134 AliITSgeomSDD::AliITSgeomSDD(AliITSgeomSDD &source){
138 if(this==&source) return;
139 this->fShapeSDD = new TBRIK(*(source.fShapeSDD));
140 this->fPeriod = source.fPeriod;
141 this->fDvelocity = source.fDvelocity;
142 this->fNAnodesL = source.fNAnodesL;
143 this->fNAnodesR = source.fNAnodesR;
144 this->fAnodeXL = source.fAnodeXL;
145 this->fAnodeXR = source.fAnodeXR;
146 if(fAnodeLowEdgeL!=0) delete fAnodeLowEdgeL;
147 this->fAnodeLowEdgeL = new Float_t[fNAnodesL];
148 if(fAnodeLowEdgeR!=0) delete fAnodeLowEdgeR;
149 this->fAnodeLowEdgeR = new Float_t[fNAnodesR];
150 for(i=0;i<fNAnodesL;i++)this->fAnodeLowEdgeL[i] = source.fAnodeLowEdgeL[i];
151 for(i=0;i<fNAnodesR;i++)this->fAnodeLowEdgeR[i] = source.fAnodeLowEdgeR[i];
154 //________________________________________________________________________
155 AliITSgeomSDD& AliITSgeomSDD::operator=(AliITSgeomSDD &source){
159 if(this==&source) return *this;
160 this->fShapeSDD = new TBRIK(*(source.fShapeSDD));
161 this->fPeriod = source.fPeriod;
162 this->fDvelocity = source.fDvelocity;
163 this->fNAnodesL = source.fNAnodesL;
164 this->fNAnodesR = source.fNAnodesR;
165 this->fNAnodesR = source.fNAnodesR;
166 this->fAnodeXL = source.fAnodeXL;
167 this->fAnodeXR = source.fAnodeXR;
168 if(fAnodeLowEdgeL!=0) delete fAnodeLowEdgeL;
169 this->fAnodeLowEdgeL = new Float_t[fNAnodesL];
170 if(fAnodeLowEdgeR!=0) delete fAnodeLowEdgeR;
171 this->fAnodeLowEdgeR = new Float_t[fNAnodesR];
172 for(i=0;i<fNAnodesL;i++)this->fAnodeLowEdgeL[i] = source.fAnodeLowEdgeL[i];
173 for(i=0;i<fNAnodesR;i++)this->fAnodeLowEdgeR[i] = source.fAnodeLowEdgeR[i];
176 //______________________________________________________________________
177 void AliITSgeomSDD::Local2Det(Float_t xl,Float_t zl,Int_t &a,Int_t &t,Int_t &s){
178 // Give the local detector coordinate it returns the anode number, time
179 // bucket, and detector side.
183 if(zl<fAnodeLowEdgeR[0]) i=-1;
184 else for(i=0;i<fNAnodesR;i++) if(zl<fAnodeLowEdgeR[i]) break;
188 if(zl<fAnodeLowEdgeL[0]) i=-1;
189 else for(i=0;i<fNAnodesL;i++) if(zl<fAnodeLowEdgeL[i]) break;
193 if(zl<fAnodeLowEdgeR[0]) i=-1;
194 else for(i=0;i<fNAnodesR;i++) if(zl<fAnodeLowEdgeR[i]) break;
196 if(zl<fAnodeLowEdgeL[0]) i=-1;
197 else for(i=0;i<fNAnodesL;i++) if(zl<fAnodeLowEdgeL[i]) break;
200 t = (Int_t)TMath::Abs((GetAnodeX(a,s)-xl)/fDvelocity/fPeriod);
203 //______________________________________________________________________
204 void AliITSgeomSDD::Det2Local(Int_t a,Int_t t,Int_t s,Float_t &xl,Float_t &zl){
205 // Give the anode number, time bucket, and detector side, it returns the
206 // local detector coordinate.
208 zl = 0.5*GetAnodeZ(a,s);
210 xl = GetAnodeX(a,s)+(t+0.5)*fPeriod*fDvelocity;
212 xl = GetAnodeX(a,s)-(t+0.5)*fPeriod*fDvelocity;
216 //______________________________________________________________________
217 void AliITSgeomSDD::Print(ostream *os) const {
218 ////////////////////////////////////////////////////////////////////////
219 // Standard output format for this class.
220 ////////////////////////////////////////////////////////////////////////
224 fmt = os->setf(ios::scientific); // set scientific floating point output
225 *os << "TBRIK" << " ";
226 *os << setprecision(16) << GetDx() << " ";
227 *os << setprecision(16) << GetDy() << " ";
228 *os << setprecision(16) << GetDz() << " ";
229 *os << setprecision(16) << fPeriod << " ";
230 *os << setprecision(16) << fDvelocity << " ";
231 *os << fNAnodesL << " ";
232 *os << fNAnodesR << " ";
233 *os << fAnodeXL << " ";
234 *os << fAnodeXR << " ";
235 for(i=0;i<fNAnodesL;i++) *os <<setprecision(16)<<fAnodeLowEdgeL[i]<< " ";
236 for(i=0;i<fNAnodesR;i++) *os <<setprecision(16)<<fAnodeLowEdgeR[i]<< " ";
238 os->flags(fmt); // reset back to old formating.
241 //______________________________________________________________________
242 void AliITSgeomSDD::Read(istream *is){
243 ////////////////////////////////////////////////////////////////////////
244 // Standard input format for this class.
245 ////////////////////////////////////////////////////////////////////////
251 *is >> dx >> dy >> dz;
252 if(fShapeSDD!=0) delete fShapeSDD;
253 fShapeSDD = new TBRIK("ActiveSDD","Active volume of SDD","SDD SI DET",
255 *is >> fPeriod >> fDvelocity >> fNAnodesL >> fNAnodesR;
256 *is >> fAnodeXL >> fAnodeXR;
257 if(fAnodeLowEdgeL!=0) delete fAnodeLowEdgeL;
258 this->fAnodeLowEdgeL = new Float_t[fNAnodesL];
259 if(fAnodeLowEdgeR!=0) delete fAnodeLowEdgeR;
260 this->fAnodeLowEdgeR = new Float_t[fNAnodesR];
261 for(i=0;i<fNAnodesL;i++) *is >> fAnodeLowEdgeL[i];
262 for(i=0;i<fNAnodesR;i++) *is >> fAnodeLowEdgeR[i];
265 //----------------------------------------------------------------------
266 ostream &operator<<(ostream &os,AliITSgeomSDD &p){
267 ////////////////////////////////////////////////////////////////////////
268 // Standard output streaming function.
269 ////////////////////////////////////////////////////////////////////////
274 //----------------------------------------------------------------------
275 istream &operator>>(istream &is,AliITSgeomSDD &r){
276 ////////////////////////////////////////////////////////////////////////
277 // Standard input streaming function.
278 ////////////////////////////////////////////////////////////////////////
283 //======================================================================
286 Revision 1.9 2001/02/03 00:00:30 nilsen
287 New version of AliITSgeom and related files. Now uses automatic streamers,
288 set up for new formatted .det file which includes detector information.
289 Additional smaller modifications are still to come.
292 //#include <iostream.h>
295 //#include "AliITSgeomSDD256.h"
297 ClassImp(AliITSgeomSDD256)
299 AliITSgeomSDD256::AliITSgeomSDD256() : AliITSgeomSDD(){
300 ////////////////////////////////////////////////////////////////////////
301 // default constructor
303 Pads for probe cards in ALICE-D2 /05.03.2000/
304 (X,Y) coordinates are quoted in microns and referred to the centers of
305 bonding pads. (0, 0) corrispond to the center of the detector.
307 left is for negative X, right is for positive X;
308 DOWN half is for negative Y, UP half is for positive Y.
310 Detector size: X= 87588 micrometers; Y= 72500 micrometers.
312 LEFT UP: (-43794, 36250)
313 RIGHT UP: (43794, 36250)
314 LEFT DOWN: (-43794, -36250)
315 RIGHT DOWN: (43794, -36250)
317 Drift cathodes (n-side)
320 (-1477, 0), pad size (150, 60)
321 (875, 0), pad size (150, 60)
322 (-36570, 0), pad size (200, 70)
323 (-37570, 0), pad size (200, 70)
324 (36570, 0), pad size (200, 70)
325 (37570, 0), pad size (200, 70)
328 (-1477, -120), pad size (150, 60)
329 (875, -120), pad size (150, 60)
330 (-36570, -120), pad size (200, 70)
331 (-37570, -120), pad size (200, 70)
332 (36570, -120), pad size (200, 70)
333 (37570, -120), pad size (200, 70)
336 (-1477, -240), pad size (150, 60)
337 (875, -240), pad size (150, 60)
338 (-36570, -240), pad size (200, 70)
339 (-37570, -240), pad size (200, 70)
340 (36570, -240), pad size (200, 70)
341 (37570, -240), pad size (200, 70)
344 (-1477, -360), pad size (150, 60)
345 (875, -360), pad size (150, 60)
346 (-36570, -360), pad size (200, 70)
347 (-37570, -360), pad size (200, 70)
348 (36570, -360), pad size (200, 70)
349 (37570, -360), pad size (200, 70)
350 .....................................
351 ......................................
352 ......................................
353 cathode #30 DOWN half
354 (-1477, -3600), pad size (150, 60)
355 (875, -3600), pad size (150, 60)
356 (-36570, -3600), pad size (200, 70)
357 (-37570, -3600), pad size (200, 70)
358 (36570, -3600), pad size (200, 70)
359 (37570, -3600), pad size (200, 70)
360 ...................................
361 cathode #60 DOWN half
362 (-1477, -7200), pad size (150, 60)
363 (875, -7200), pad size (150, 60)
364 (-36570, -7200), pad size (200, 70)
365 (-37570, -7200), pad size (200, 70)
366 (36570, -7200), pad size (200, 70)
367 (37570, -7200), pad size (200, 70)
368 ....................................
369 cathode #90 DOWN half
370 (-1477, -10800), pad size (150, 60)
371 (875, -10800), pad size (150, 60)
372 (-36570, -10800), pad size (200, 70)
373 (-37570, -10800), pad size (200, 70)
374 (36570, -10800), pad size (200, 70)
375 (37570, -10800), pad size (200, 70)
376 ....................................
377 cathode #120 DOWN half
378 (-1477, -14400), pad size (150, 60)
379 (875, -14400), pad size (150, 60)
380 (-36570, -14400), pad size (200, 70)
381 (-37570, -14400), pad size (200, 70)
382 (36570, -14400), pad size (200, 70)
383 (37570, -14400), pad size (200, 70)
384 ....................................
385 cathode #150 DOWN half
386 (-1477, -18000), pad size (150, 60)
387 (875, -18000), pad size (150, 60)
388 (-36570, -18000), pad size (200, 70)
389 (-37570, -18000), pad size (200, 70)
390 (36570, -18000), pad size (200, 70)
391 (37570, -18000), pad size (200, 70)
392 ....................................
393 cathode #180 DOWN half
394 (-1477, -21600), pad size (150, 60)
395 (875, -21600), pad size (150, 60)
396 (-36570, -21600), pad size (200, 70)
397 (-37570, -21600), pad size (200, 70)
398 (36570, -21600), pad size (200, 70)
399 (37570, -21600), pad size (200, 70)
400 ....................................
401 cathode #210 DOWN half
402 (-1477, -25200), pad size (150, 60)
403 (875, -25200), pad size (150, 60)
404 (-36570, -25200), pad size (200, 70)
405 (-37570, -25200), pad size (200, 70)
406 (36570, -25200), pad size (200, 70)
407 (37570, -25200), pad size (200, 70)
408 ....................................
409 cathode #240 DOWN half
410 (-1477, -28800), pad size (150, 60)
411 (875, -28800), pad size (150, 60)
412 (-36570, -28800), pad size (200, 70)
413 (-37570, -28800), pad size (200, 70)
414 (36570, -28800), pad size (200, 70)
415 (37570, -28800), pad size (200, 70)
416 ....................................
417 cathode #270 DOWN half
418 (-1477, -32400), pad size (150, 60)
419 (875, -32400), pad size (150, 60)
420 (-36570, -32400), pad size (200, 70)
421 (-37570, -32400), pad size (200, 70)
422 (36570, -32400), pad size (200, 70)
423 (37570, -32400), pad size (200, 70)
424 ....................................
425 cathode #290 DOWN half
426 (-1477, -34800), pad size (150, 60)
427 (875, -34800), pad size (150, 60)
428 (-36570, -34800), pad size (200, 70)
429 (-37570, -34800), pad size (200, 70)
430 (36570, -34800), pad size (200, 70)
431 (37570, -34800), pad size (200, 70)
432 ___________________________________________________
434 (-1477, 120), pad size (150, 60)
435 (875, 120), pad size (150, 60)
436 (-36570, 120), pad size (200, 70)
437 (-37570, 120), pad size (200, 70)
438 (36570, 120), pad size (200, 70)
439 (37570, 120), pad size (200, 70)
442 (-1477, 240), pad size (150, 60)
443 (875, 240), pad size (150, 60)
444 (-36570, 240), pad size (200, 70)
445 (-37570, 240), pad size (200, 70)
446 (36570, 240), pad size (200, 70)
447 (37570, 240), pad size (200, 70)
450 (-1477, 360), pad size (150, 60)
451 (875, 360), pad size (150, 60)
452 (-36570, 360), pad size (200, 70)
453 (-37570, 360), pad size (200, 70)
454 (36570, 360), pad size (200, 70)
455 (37570, 360), pad size (200, 70)
456 .....................................
457 ......................................
458 ......................................
460 (-1477, 3600), pad size (150, 60)
461 (875, 3600), pad size (150, 60)
462 (-36570, 3600), pad size (200, 70)
463 (-37570, 3600), pad size (200, 70)
464 (36570, 3600), pad size (200, 70)
465 (37570, 3600), pad size (200, 70)
466 ......................................
468 (-1477, 7200), pad size (150, 60)
469 (875, 7200), pad size (150, 60)
470 (-36570, 7200), pad size (200, 70)
471 (-37570, 7200), pad size (200, 70)
472 (36570, 7200), pad size (200, 70)
473 (37570, 7200), pad size (200, 70)
474 ......................................
476 (-1477, 10800), pad size (150, 60)
477 (875, 10800), pad size (150, 60)
478 (-36570, 10800), pad size (200, 70)
479 (-37570, 10800), pad size (200, 70)
480 (36570, 10800), pad size (200, 70)
481 (37570, 10800), pad size (200, 70)
482 ......................................
484 (-1477, 14400), pad size (150, 60)
485 (875, 14400), pad size (150, 60)
486 (-36570, 14400), pad size (200, 70)
487 (-37570, 14400), pad size (200, 70)
488 (36570, 14400), pad size (200, 70)
489 (37570, 14400), pad size (200, 70)
490 ......................................
492 (-1477, 18000), pad size (150, 60)
493 (875, 18000), pad size (150, 60)
494 (-36570, 18000), pad size (200, 70)
495 (-37570, 18000), pad size (200, 70)
496 (36570, 18000), pad size (200, 70)
497 (37570, 18000), pad size (200, 70)
498 ......................................
500 (-1477, 21600), pad size (150, 60)
501 (875, 21600), pad size (150, 60)
502 (-36570, 21600), pad size (200, 70)
503 (-37570, 21600), pad size (200, 70)
504 (36570, 21600), pad size (200, 70)
505 (37570, 21600), pad size (200, 70)
506 ......................................
508 (-1477, 25200), pad size (150, 60)
509 (875, 25200), pad size (150, 60)
510 (-36570, 25200), pad size (200, 70)
511 (-37570, 25200), pad size (200, 70)
512 (36570, 25200), pad size (200, 70)
513 (37570, 25200), pad size (200, 70)
514 ......................................
516 (-1477, 28800), pad size (150, 60)
517 (875, 28800), pad size (150, 60)
518 (-36570, 28800), pad size (200, 70)
519 (-37570, 28800), pad size (200, 70)
520 (36570, 28800), pad size (200, 70)
521 (37570, 28800), pad size (200, 70)
522 ......................................
524 (-1477, 32400), pad size (150, 60)
525 (875, 32400), pad size (150, 60)
526 (-36570, 32400), pad size (200, 70)
527 (-37570, 32400), pad size (200, 70)
528 (36570, 32400), pad size (200, 70)
529 (37570, 32400), pad size (200, 70)
530 ......................................
532 (-1477, 34800), pad size (150, 60)
533 (875, 34800), pad size (150, 60)
534 (-36570, 34800), pad size (200, 70)
535 (-37570, 34800), pad size (200, 70)
536 (36570, 34800), pad size (200, 70)
537 (37570, 34800), pad size (200, 70)
540 Central line injectors (DOWN half)
541 (-1237, -660), pad size (150, 65)
542 (1115, -660), pad size (150, 65)
543 (37890, -660), pad size (100, 74)
545 Middle line injectors (DOWN half)
546 (-1237, -17460), pad size (150, 80)
547 (1115, -17460), pad size (150, 80)
548 (37890, -17460), pad size (100, 74)
550 Bottom line injectors (DOWN half)
551 (-1237, -34020), pad size (150, 80)
552 (1115, -34020), pad size (150, 80)
553 (37890, -34020), pad size (100, 74)
554 ___________________________________________
555 Central line injectors (UP half)
556 (-1237, 660), pad size (150, 65)
557 (1115, 660), pad size (150, 65)
558 (37890, 660), pad size (100, 74)
560 Middle line injectors (UP half)
561 (-1237, 17460), pad size (150, 80)
562 (1115, 17460), pad size (150, 80)
563 (37890, 17460), pad size (100, 74)
565 Bottom line injectors (UP half)
566 (-1237, 34020), pad size (150, 80)
567 (1115, 34020), pad size (150, 80)
568 (37890, 34020), pad size (100, 74)
570 Drift cathodes and injectors of p-side have the bonding pads with the same
571 coordinates as for the n-side (when looking through the masks)
573 Cathodes of the collection zone (n-side)
575 cathode #291 (-40 V) DOWN half
576 (-38220, -35055), pad size (120, 160)
577 (38190, -34992), pad size (120, 145)
579 GRID cathode (-15 V) DOWN half
580 (-37988, -35085), pad size (144, 210)
581 (37988, -35085), pad size (144, 210)
583 cathode #292 (-30 V) DOWN half
584 (-38245, -35290), pad size (100, 170)
585 (38210, -35242), pad size (150, 215)
587 cathode #293 (-15 V) DOWN half
588 (-38055, -35460), pad size (690, 70)
589 (36488, -35460), pad size (3805, 70)
591 n+ bulk contact (GND) DOWN half
592 (-38300, -36050), pad size (1000, 395)
593 (38300, -36050), pad size (1000, 395)
595 bonding pad of the last integrated resistor DOWN half
596 /it has to be connected to the GND/
597 (-38190, -35620) pad size (160, 110)
598 ________________________________________________
599 cathode #291 (-40 V) UP half
600 (-38220, 35055), pad size (120, 160)
601 (38190, 34992), pad size (120, 145)
603 GRID cathode (-15 V) UP half
604 (-37988, 35085), pad size (144, 210)
605 (37988, 35085), pad size (144, 210)
607 cathode #292 (-30 V) UP half
608 (-38245, 35290), pad size (100, 170)
609 (38210, 35242), pad size (150, 215)
611 cathode #293 (-15 V) UP half
612 (-38055, 35460), pad size (690, 70)
613 (36488, 35460), pad size (3805, 70)
615 n+ bulk contact (GND) UP half
616 (-38300, 36050), pad size (1000, 395)
617 (38300, 36050), pad size (1000, 395)
619 bonding pad of the last integrated resistor UP half
620 /it has to be connected to the GND/
621 (-38190, 35620) pad size (160, 110)
623 Cathodes of the collection zone (p-side)
625 cathode #291 (-40 V) DOWN half
626 (-38215, -35055), pad size (120, 160)
627 (38190, -34992), pad size (120, 145)
629 cathode W1 (-60 V) DOWN half
630 (-38000, -35110), pad size (140, 240)
631 (38000, -35110), pad size (140, 240)
633 cathode W2 (-80 V) DOWN half
634 ( 0, -35090), pad size (75600, 110)
636 cathode #292 (-40 V) DOWN half
637 (-38220, -35290), pad size (150, 170)
638 (38210, -35242), pad size (150, 215)
640 p+ bulk contact (GND) DOWN half
641 (-38300, -36050), pad size (1000, 395)
642 (38300, -36050), pad size (1000, 395)
644 It is necessary to connect cathode #291 to cathode #292 in order to
645 close the integrated divider to p+ bulk contact (GND).
647 _______________________________________________
648 cathode #291 (-40 V) UP half
649 (-38215, 35055), pad size (120, 160)
650 (38190, 34992), pad size (120, 145)
652 cathode W1 (-60 V) UP half
653 (-38000, 35110), pad size (140, 240)
654 (38000, 35110), pad size (140, 240)
656 cathode W2 (-80 V) UP half
657 ( 0, 35090), pad size (75600, 110)
659 cathode #292 (-40 V) UP half
660 (-38220, 35290), pad size (150, 170)
661 (38210, 35242), pad size (150, 215)
663 p+ bulk contact (GND) UP half
664 (-38300, 36050), pad size (1000, 395)
665 (38300, 36050), pad size (1000, 395)
667 It is necessary to connect cathode #291 to cathode #292 in order to
668 close the integrated divider to p+ bulk contact (GND).
671 There are 256 anodes to be bonded to the inputs of front-end electronics. In
672 addition there are 2 anodes (one at the left edge and one at the right edge
673 of the anode array) that have to be bonded to the ground. I call these 2
674 anodes #L and #R. The pitch of all anodes is 294 micrometers.
677 #L (-37779, -35085), pad size (184, 140)
678 #1 (-37485, -35085), pad size (184, 140)
679 .........................................
680 .........................................
681 #256.............(37485, -35085), pad size (184, 140)
682 #R (37779, -35085), pad size (184, 140)
683 _____________________________________________
685 #L (-37779, 35085), pad size (184, 140)
686 #1 (-37485, 35085), pad size (184, 140)
687 .........................................
688 .........................................
689 #256.............(37485, 35085), pad size (184, 140)
690 #R (37779, 35085), pad size (184, 140)
692 ////////////////////////////////////////////////////////////////////////
693 const Float_t kDxyz[] = {3.6250,0.01499,4.3794};//cm. (Geant 3.12 units)
694 // Size of sensitive region of detector
695 const Float_t kPeriod = 25.0E-09; // 40 MHz sampling frequence
696 const Float_t kVelocity = 5.46875E+03; // cm/s drift velocity
697 const Float_t kAnodeXL = -3.5085; // cm location in x of anodes left side
698 const Float_t kAnodeXR = 3.5085; // cm location in x of anodes right side
699 const Int_t kNAnodes = 256; // nuber of anodes connected
700 const Float_t kAnodePitch = 0.0294; // cm
701 const Float_t kAnodesZ = -3.7485; // cm Starting location of anodes in z
702 Float_t AnodeLowEdges[kNAnodes+1];
705 // cout << "AliITSgeomSDD256 default creator called: start" << end;
706 AnodeLowEdges[0] = kAnodesZ;
707 for(i=0;i<kNAnodes;i++) AnodeLowEdges[i+1] = kAnodePitch+AnodeLowEdges[i];
708 AliITSgeomSDD::ResetSDD(kDxyz,kPeriod,kVelocity,kAnodeXL,kAnodeXR,
709 kNAnodes+1,AnodeLowEdges,
710 kNAnodes+1,AnodeLowEdges);
711 // cout << "AliITSgeomSDD256 default creator called: end" << endl;
713 //________________________________________________________________________
714 ostream &operator<<(ostream &os,AliITSgeomSDD256 &p){
715 ////////////////////////////////////////////////////////////////////////
716 // Standard output streaming function.
717 ////////////////////////////////////////////////////////////////////////
722 //----------------------------------------------------------------------
723 istream &operator>>(istream &is,AliITSgeomSDD256 &r){
724 ////////////////////////////////////////////////////////////////////////
725 // Standard input streaming function.
726 ////////////////////////////////////////////////////////////////////////
731 //======================================================================
734 Revision 1.9 2001/02/03 00:00:30 nilsen
735 New version of AliITSgeom and related files. Now uses automatic streamers,
736 set up for new formatted .det file which includes detector information.
737 Additional smaller modifications are still to come.
740 //#include <iostream.h>
743 //#include "AliITSgeomSDD300.h"
745 ClassImp(AliITSgeomSDD300)
747 AliITSgeomSDD300::AliITSgeomSDD300() : AliITSgeomSDD(){
748 ////////////////////////////////////////////////////////////////////////
749 // default constructor
750 ////////////////////////////////////////////////////////////////////////
751 const Float_t kDxyz[] = {3.500,0.014,3.763};//cm.
752 const Float_t kPeriod = 25.0E-09; // 40 MHz
753 const Float_t kVelocity = 5.46875E+3; // cm/s
754 const Int_t kNAnodes = 300; // number of anodes
755 const Float_t kAnodeXL = -3.500; // cm
756 const Float_t kAnodeXR = +3.500; // cm
757 const Float_t kAnodesZ = -3.75; // cm
758 Float_t AnodeLowEdges[kNAnodes+1];
759 const Float_t kanode = 0.0250;// cm anode separation.
762 // cout << "AliITSgeomSDD300 default creator called: start" << endl;
763 AnodeLowEdges[0] = kAnodesZ;
764 for(i=0;i<kNAnodes;i++) AnodeLowEdges[i+1] = kanode+AnodeLowEdges[i];
765 AliITSgeomSDD::ResetSDD(kDxyz,kPeriod,kVelocity,kAnodeXL,kAnodeXR,
766 kNAnodes+1,AnodeLowEdges,
767 kNAnodes+1,AnodeLowEdges);
768 // cout << "AliITSgeomSDD300 default creator called: end" << endl;
770 //________________________________________________________________________
771 ostream &operator<<(ostream &os,AliITSgeomSDD300 &p){
772 ////////////////////////////////////////////////////////////////////////
773 // Standard output streaming function.
774 ////////////////////////////////////////////////////////////////////////
779 //----------------------------------------------------------------------
780 istream &operator>>(istream &is,AliITSgeomSDD300 &r){
781 ////////////////////////////////////////////////////////////////////////
782 // Standard input streaming function.
783 ////////////////////////////////////////////////////////////////////////
788 //----------------------------------------------------------------------