Line data Source code
1 : /**************************************************************************
2 : * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 : * *
4 : * Author: The ALICE Off-line Project. *
5 : * Contributors are mentioned in the code where appropriate. *
6 : * *
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 : **************************************************************************/
15 :
16 : //=============================================================================================
17 : //
18 : // Class describing geometry of MFT CMOS MAP Chip
19 : //
20 : // Contact author: raphael.tieulent@cern.ch
21 : //
22 : //=============================================================================================
23 :
24 : #include "TGeoManager.h"
25 : #include "TGeoBBox.h"
26 :
27 : #include "AliMFTLadderSegmentation.h"
28 : #include "AliMFTChipSegmentation.h"
29 : #include "AliMFTChip.h"
30 :
31 14 : ClassImp(AliMFTChip)
32 :
33 : //=============================================================================================
34 :
35 : AliMFTChip::AliMFTChip():
36 0 : TNamed()
37 0 : {
38 :
39 : // default constructor
40 :
41 0 : }
42 : //=============================================================================================
43 :
44 0 : AliMFTChip::AliMFTChip(AliMFTChipSegmentation *segmentation, const char * ladderName):TNamed(ladderName,ladderName)
45 0 : {
46 :
47 :
48 :
49 0 : }
50 :
51 :
52 : //=============================================================================================
53 :
54 0 : AliMFTChip::~AliMFTChip() {
55 :
56 0 : }
57 :
58 :
59 : //=============================================================================================
60 : void AliMFTChip::GetPosition(AliMFTLadderSegmentation * ladderSeg, Int_t iChip, Double_t *pos){
61 : // Double_t * fFlexDimensions = new Double_t[3];
62 : // ladderSeg->GetFlexLength(fFlexDimensions);
63 : //
64 : // AliInfo(Form("fFlexDimensions %f %f %f",fFlexDimensions[0],fFlexDimensions[1], fFlexDimensions[2]));
65 : //
66 : // pos[0] = AliMFTConstants::fChipSideOffset + AliMFTConstants::fChipWidth/2. + iChip*(AliMFTConstants::fChipWidth+AliMFTConstants::fChipInterspace);
67 : // pos[1] = -(AliMFTConstants::fChipTopOffset + fChipHeight/2.) ;
68 : // pos[2] = fFlexDimensions[2] + AliMFTConstants::fChipThickness/2.;
69 : // AliWarning ("---- Z position of Chip to be worked out --- ");
70 : // if (!ladderSeg->IsLeftType()) pos[0] *= -1.;
71 :
72 :
73 0 : }
74 :
75 :
76 : //=============================================================================================
77 : TGeoVolume * AliMFTChip::CreateVolume(){
78 :
79 : // // Create Shapes
80 : //
81 : // // The sensor part
82 : // TGeoBBox *sensor = new TGeoBBox(AliMFTConstants::kSensorLength/2.,AliMFTConstants::kSensorHeight/2., AliMFTConstants::fChipThickness/2.);
83 : //
84 : // // The readout part
85 : // TGeoBBox *readout = new TGeoBBox(AliMFTConstants::fChipWidth/2.,(fChipHeight-fSensorHeight)/2., AliMFTConstants::fChipThickness/2.);
86 : //
87 : // // Get Mediums
88 : // TGeoMedium *medSensorSi = gGeoManager->GetMedium("MFT_Si");
89 : // TGeoMedium *medReadoutSi = gGeoManager->GetMedium("MFT_Readout");
90 : //
91 : // // Create Volumes
92 : // // Chip Volume
93 : // TGeoVolumeAssembly *chipVol = new TGeoVolumeAssembly("Chip");
94 : // chipVol->SetVisibility(kTRUE);
95 : //
96 : // // The sensor Volume
97 : // TGeoVolume *sensorVol = new TGeoVolume("Sensor", sensor, medSensorSi);
98 : // sensorVol->SetVisibility(kTRUE);
99 : // sensorVol->SetLineColor(kGreen+1);
100 : //
101 : // // The Readout Volume
102 : // TGeoVolume *readoutVol = new TGeoVolume("Readout", readout, medReadoutSi);
103 : // readoutVol->SetVisibility(kTRUE);
104 : // readoutVol->SetLineColor(kRed+2);
105 : //
106 : // // Building up the chip
107 : // chipVol->AddNode(readoutVol, 1, new TGeoTranslation(0.,-fChipHeight/2.+readout->GetDY(), 0.));
108 : // chipVol->AddNode(sensorVol, 1, new TGeoTranslation( 0., fChipHeight/2.-sensor->GetDY(),0.));
109 : //
110 : //
111 : //
112 : // return chipVol;
113 :
114 0 : }
|