]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RICH/RichGeom.C
Adding cut on invariant mass values in the pre-triiger decision of the AliMUONCocktai...
[u/mrichter/AliRoot.git] / RICH / RichGeom.C
1 TGeoManager  *g=0;
2 AliRICHParam *p=0;
3 Int_t copy; //volume copy number 
4 Double_t dx,dy,dz,r1,r2;//tmp vars for volume dimentions
5 Double_t cm=1,m=100*cm,mm=0.1*cm,mkm=0.001*cm;//length units  
6
7 void RichGeom()
8 {
9   p=new AliRICHParam;
10   
11   //gSystem->Load("libGeom.so");  
12   g=new TGeoManager("GEL","Aerogel test configuration");
13   Materials();  
14   TGeoVolume *pMother=g->MakeBox("Mother",g->GetMedium("Air"),dx=30*m/2,dy=30*m/2,dz=30*m/2); //arbitrary values  
15   g->SetTopVolume(g->GetVolume("Mother"));
16     
17   Rich(pMother);
18   
19   Colors();  
20   g->CloseGeometry();
21   
22   g->SetVisOption(0); g->SetVisLevel(5); 
23   
24   g->GetMasterVolume()->Draw();
25   Axis();
26 //  gPad->GetView()->SetView(3,94,-70,0);
27   new TBrowser;
28 }
29 //__________________________________________________________________________________________________
30 void Aerogel()
31 {
32   
33   TGeoVolume *pGel     =g->MakeBox("RGEL" ,g->GetMedium("Air"),dx=10*cm/2,dy= 10*cm/2 ,dz=10*cm/2);//10x10x10 cm aerogel cubic
34   for(int i=1;i<=7;i++)//put 7 cubics
35     g->GetVolume("Mother")->AddNode(pGel,copy=i,new TGeoCombiTrans(p->C(i)->Center().X(), p->C(i)->Center().Y(), p->C(i)->Center().Z(),
36                                                 new TGeoRotation(Form("GelRot%i",i),p->C(i)->ThetaXd(),p->C(i)->PhiXd(),
37                                                                                     p->C(i)->ThetaYd(),p->C(i)->PhiYd(),
38                                                                                     p->C(i)->ThetaZd(),p->C(i)->PhiZd())));
39
40 }
41 //__________________________________________________________________________________________________
42 void Materials()
43 {
44 // Defines all the materials and tracking media
45   Double_t a=0,z=0,den=0,radlen=0,intlen=0;//tmp vars for material parameters
46   new TGeoMaterial("Air"      ,a=26.98 ,z=13,den=0.4224                             );        new TGeoMedium("Air"      ,1,g->GetMaterial("Air")); 
47   new TGeoMaterial("CH4"      ,a=26.98 ,z=13,den=0.4224                             ); pCH4  =new TGeoMedium("CH4"      ,2,g->GetMaterial("CH4"));
48   new TGeoMaterial("CsI"      ,a=26.98 ,z=13,den=2.7 ,radlen=24.01*cm,intlen=70.6*cm); pCsI  =new TGeoMedium("CsI"      ,3,g->GetMaterial("CsI"));
49   new TGeoMaterial("Al"       ,a=26.98 ,z=13,den=2.7 ,radlen=24.01*cm,intlen=70.6*cm); pAl   =new TGeoMedium("Al"       ,4,g->GetMaterial("Al")); 
50   new TGeoMaterial("W"        ,a=183.84,z=27,den=19.3,radlen= 9.59*cm,intlen=0.35*cm); pW    =new TGeoMedium("W"        ,5,g->GetMaterial("W"));
51   new TGeoMaterial("Cu"       ,a=55.845,z=26,den=7.87,radlen=13.84*cm,intlen=82.8*cm); pCu   =new TGeoMedium("Cu"       ,6,g->GetMaterial("Cu"));
52   new TGeoMaterial("Rohacell" ,a=12.01 ,z=6 ,den=0.1 ,radlen=18.8,intlen=0);           pRoha =new TGeoMedium("Rohacell" ,7,g->GetMaterial("Rohacell"));
53   new TGeoMaterial("SiO2"     ,a=0     ,z=0 ,den=0);                                   pSiO2 =new TGeoMedium("SiO2"     ,8,g->GetMaterial("SiO2"));
54   new TGeoMaterial("C6F14"    ,a=0     ,z=0 ,den=0);                                   pC6F14=new TGeoMedium("C6F14"    ,9,g->GetMaterial("C6F14"));
55 //Medium for Sr90 source  
56   new TGeoMaterial("Perpex"  ,a=55.845,z=26,den=7.87,radlen=13.84*cm,intlen=82.8*cm); pPerpex=new TGeoMedium("Perpex"  ,10,g->GetMaterial("Perpex"));
57   new TGeoMaterial("Steel"   ,a=55.845,z=26,den=7.87,radlen=13.84*cm,intlen=82.8*cm); pSteel =new TGeoMedium("Steel"   ,11,g->GetMaterial("Steel"));
58   new TGeoMaterial("Mylar"   ,a=55.845,z=26,den=7.87,radlen=13.84*cm,intlen=82.8*cm); pMylar =new TGeoMedium("Mylar"   ,12,g->GetMaterial("Mylar"));
59   new TGeoMaterial("Sr90"    ,a=87.62 ,z=38,den=7.87,radlen=13.84*cm,intlen=82.8*cm); pSr    =new TGeoMedium("Sr90"    ,13,g->GetMaterial("Sr90"));
60 }//Materials()
61 //__________________________________________________________________________________________________
62 void Rich(TGeoVolume *pTop)
63 {
64 //Rich  
65   TGeoVolume *pRich=g->MakeBox( "Rich"     ,g->GetMedium("CH4"),dx=(6*mm+1681*mm+6*mm)/2,  //main RICH volume
66                                                                 dy=(6*mm+1466*mm+6*mm)/2,
67                                                                 dz=(80*mm+40*mm)*2/2);     //x,y taken from 2033P1  z from p84 TDR  
68   for(int i=1;i<=p->Nchambers();i++)//put 7 chambers
69     pTop->AddNode(pRich,copy=i,new TGeoCombiTrans(p->C(i)->Center().X(), p->C(i)->Center().Y(), p->C(i)->Center().Z(),
70                                                  new TGeoRotation(Form("RichRot%i",i),p->C(i)->ThetaXd(),p->C(i)->PhiXd(),
71                                                                                       p->C(i)->ThetaYd(),p->C(i)->PhiYd(),
72                                                                                       p->C(i)->ThetaZd(),p->C(i)->PhiZd()))); //Rich to Mother    
73   
74                  PadPanelFrame(pRich); //photocathode
75                  Gap(pRich);           //anod wires
76                  Frame3(pRich);        //cathode wires
77                  Frame4(pRich);        //collection wires  
78                  Sandbox(pRich);
79 }//Rich()
80 //__________________________________________________________________________________________________
81 void PadPanelFrame(TGeoVolume *pTop)
82 {
83 //Pad Panel frame  
84   TGeoVolume *pPpf     =g->MakeBox("PPF"      ,g->GetMedium("Al")  ,dx=648*mm/2,dy=  411*mm/2 ,dz=40  *mm/2);//PPF 2001P2 inner size of the slab by 1mm more
85   TGeoVolume *pPpfLarge=g->MakeBox("PPFlarge" ,g->GetMedium("Air") ,dx=181*mm/2,dy=89.25*mm/2 ,dz=38.3*mm/2);//large whole
86   TGeoVolume *pPpfSmall=g->MakeBox("PPFsmall" ,g->GetMedium("Air") ,dx=114*mm/2,dy=89.25*mm/2 ,dz=38.3*mm/2);//small whole
87   TGeoVolume *pPc      =g->MakeBox("PC"       ,g->GetMedium("CsI") ,dx=644*mm/2,dy=  407*mm/2 ,dz= 1.7*mm/2);//by 0.2 mm more then actual size (PCB 2006P1)
88   
89   pTop->AddNode(pPpf,copy=1,new TGeoTranslation(-335*mm,-433*mm,8*cm+20*mm));//F1 2040P1 z p.84 TDR
90   pTop->AddNode(pPpf,copy=2,new TGeoTranslation(+335*mm,-433*mm,8*cm+20*mm));
91   pTop->AddNode(pPpf,copy=3,new TGeoTranslation(-335*mm,   0*mm,8*cm+20*mm));
92   pTop->AddNode(pPpf,copy=4,new TGeoTranslation(+335*mm,   0*mm,8*cm+20*mm));
93   pTop->AddNode(pPpf,copy=5,new TGeoTranslation(-335*mm,+433*mm,8*cm+20*mm));
94   pTop->AddNode(pPpf,copy=6,new TGeoTranslation(+335*mm,+433*mm,8*cm+20*mm));
95   pPpf->AddNode( pPc ,copy=1,new TGeoTranslation(   0*mm,   0*mm,-19.15*mm));//PPF 2001P2 
96   pPpf->AddNode(pPpfLarge,copy=1,new TGeoTranslation(-224.5*mm,-151.875*mm,  0.85*mm));
97   pPpf->AddNode(pPpfLarge,copy=2,new TGeoTranslation(-224.5*mm,- 50.625*mm,  0.85*mm));
98   pPpf->AddNode(pPpfLarge,copy=3,new TGeoTranslation(-224.5*mm,+ 50.625*mm,  0.85*mm));
99   pPpf->AddNode(pPpfLarge,copy=4,new TGeoTranslation(-224.5*mm,+151.875*mm,  0.85*mm));
100   pPpf->AddNode(pPpfSmall,copy=1,new TGeoTranslation(- 65.0*mm,-151.875*mm,  0.85*mm));
101   pPpf->AddNode(pPpfSmall,copy=2,new TGeoTranslation(- 65.0*mm,- 50.625*mm,  0.85*mm));
102   pPpf->AddNode(pPpfSmall,copy=3,new TGeoTranslation(- 65.0*mm,+ 50.625*mm,  0.85*mm));
103   pPpf->AddNode(pPpfSmall,copy=4,new TGeoTranslation(- 65.0*mm,+151.875*mm,  0.85*mm));
104   pPpf->AddNode(pPpfSmall,copy=5,new TGeoTranslation(+ 65.0*mm,-151.875*mm,  0.85*mm));
105   pPpf->AddNode(pPpfSmall,copy=6,new TGeoTranslation(+ 65.0*mm,- 50.625*mm,  0.85*mm));
106   pPpf->AddNode(pPpfSmall,copy=7,new TGeoTranslation(+ 65.0*mm,+ 50.625*mm,  0.85*mm));
107   pPpf->AddNode(pPpfSmall,copy=8,new TGeoTranslation(+ 65.0*mm,+151.875*mm,  0.85*mm)); 
108   pPpf->AddNode(pPpfLarge,copy=5,new TGeoTranslation(+224.5*mm,-151.875*mm,  0.85*mm));
109   pPpf->AddNode(pPpfLarge,copy=6,new TGeoTranslation(+224.5*mm,- 50.625*mm,  0.85*mm));
110   pPpf->AddNode(pPpfLarge,copy=7,new TGeoTranslation(+224.5*mm,+ 50.625*mm,  0.85*mm));
111   pPpf->AddNode(pPpfLarge,copy=8,new TGeoTranslation(+224.5*mm,+151.875*mm,  0.85*mm));
112 }//PadPanelFrame()
113 //__________________________________________________________________________________________________
114 void Gap(TGeoVolume *pTop)
115 {
116 //Gap - anod wires
117   TGeoVolume *pGap =g->MakeBox ("Gap"  ,g->GetMedium("CH4") ,dx=648*mm/2,dy=  411*mm/2 ,dz=4.45*mm/2);//xy as PPF 2001P2 z WP 2099P1
118   TGeoVolume *pAnod=g->MakeTube("Anod" ,g->GetMedium("W")   ,r1=  0*mm  ,r2=  20*mkm/2 ,dz=648*mm/2);  //WP 2099P1 z = gap x PPF 2001P2
119   TGeoRotation *pAnodRot=new TGeoRotation("AnodRot",90,90,0);
120   
121   pTop->AddNode(pGap,copy=1,new TGeoTranslation(-335*mm,-433*mm,8*cm-2.225*mm)); //F1 2040P1 z WP 2099P1
122   pTop->AddNode(pGap,copy=2,new TGeoTranslation(+335*mm,-433*mm,8*cm-2.225*mm)); 
123   pTop->AddNode(pGap,copy=3,new TGeoTranslation(-335*mm,   0*mm,8*cm-2.225*mm)); 
124   pTop->AddNode(pGap,copy=4,new TGeoTranslation(+335*mm,   0*mm,8*cm-2.225*mm)); 
125   pTop->AddNode(pGap,copy=5,new TGeoTranslation(-335*mm,+433*mm,8*cm-2.225*mm)); 
126   pTop->AddNode(pGap,copy=6,new TGeoTranslation(+335*mm,+433*mm,8*cm-2.225*mm)); 
127   for(int i=1;i<=96;i++)
128     pGap->AddNode(pAnod,copy=i,new TGeoCombiTrans( 0*mm, -411/2*mm+i*4*mm, 0.185*mm,pAnodRot)); //WP 2099P1  
129 }//Gap()
130 //__________________________________________________________________________________________________
131 void Frame3(TGeoVolume *pTop)
132 {//Frame 3- cathode wires      
133   TGeoVolume *pCath=g->MakeTube("Cath"  ,g->GetMedium("Cu")  ,r1=0  ,r2=100*mkm/2,dz=1323*mm/2);//r WP 2099P1 z F3 2041P1       
134   TGeoRotation *pCathRot=new TGeoRotation("CathRot",90,90,0);
135   for(int i=1;i<=618;i++)
136     pTop->AddNode(pCath,copy=i,new TGeoCombiTrans( 0*mm, -649.5*mm+i*2.1*mm, 75*mm,pCathRot)); //WP 2099P1    
137 }//Frame3()
138 //__________________________________________________________________________________________________
139 void Frame4(TGeoVolume *pTop)
140 {
141 //Frame 4- collection wires
142   TGeoVolume *pF4  =g->MakeBox( "F4"       ,g->GetMedium("CH4")   ,dx=1407*mm/2 ,dy=1366*mm/2  ,dz=  15*mm/2);//F4 2043P1 
143   TGeoVolume *pF4al=g->MakeBox( "F4al"     ,g->GetMedium("Al")    ,dx=1407*mm/2 ,dy=1366*mm/2  ,dz=  10*mm/2); 
144   TGeoVolume *pF4in=g->MakeBox( "F4in"     ,g->GetMedium("CH4")   ,dx=1323*mm/2 ,dy=1296*mm/2  ,dz=  10*mm/2); 
145   TGeoVolume *pColl=g->MakeTube("Coll"     ,g->GetMedium("Cu")    ,r1=   0*mm   ,r2=100*mkm/2  ,dz=1323*mm/2);
146   TGeoRotation *pCollRot=new TGeoRotation("CollRot",90,90,0);
147   
148   pTop->AddNode(pF4      ,copy=1,new TGeoTranslation(   0*mm,0*mm,   9*mm)); //F4 to Rich p.84 TDR
149     pF4  ->AddNode(pF4al    ,copy=1,new TGeoTranslation(   0*mm,0*mm, 2.5*mm)); //F4 al to F4 2043P1 
150     pF4al->AddNode(pF4in    ,copy=1,new TGeoTranslation(   0*mm,0*mm,   0*mm)); //F4 whole F4 al 2043P1   
151     for(int i=1;i<=322;i++)
152       pF4->AddNode(pColl,copy=i,new TGeoCombiTrans( 0*mm, -1296/2*mm+i*4*mm, -5*mm,pCollRot)); //F4 2043P1
153 }//void Frame4()
154 //__________________________________________________________________________________________________
155 void Radiators(TGeoVolume *pTop)
156 {
157   TGeoVolume *pRad      =g->MakeBox( "Rad"      ,g->GetMedium("C6F14")    ,dx=1330*mm/2 ,dy= 413*mm/2  ,dz=  24*mm/2); // Rad 2011P1
158   TGeoVolume *pRadFront =g->MakeBox( "RadFront" ,g->GetMedium("Neoceram") ,dx=1330*mm/2 ,dy= 413*mm/2  ,dz=   4*mm/2); 
159   TGeoVolume *pRadWin   =g->MakeBox( "RadWin"   ,g->GetMedium("SiO2")     ,dx=1330*mm/2 ,dy= 413*mm/2  ,dz=   5*mm/2); 
160   TGeoVolume *pRadLong  =g->MakeBox( "RadLong"  ,g->GetMedium("Neoceram") ,dx=1330*mm/2 ,dy=   5*mm/2  ,dz=  15*mm/2);    
161   TGeoVolume *pRadShort =g->MakeBox( "RadShort" ,g->GetMedium("Neoceram") ,dx=  10*mm/2 ,dy= 403*mm/2  ,dz=  15*mm/2);    
162   TGeoVolume *pRadSpacer=g->MakeTube("RadSpacer",g->GetMedium("SiO2")     ,r1= 0        ,r2=10*mm/2  ,dz=  15*mm/2);         
163     
164   pTop->AddNode(pRad      ,copy=1,new TGeoTranslation(   0*mm,-434*mm,   -12*mm)); 
165   pTop->AddNode(pRad      ,copy=2,new TGeoTranslation(   0*mm,   0*mm,   -12*mm)); 
166   pTop->AddNode(pRad      ,copy=3,new TGeoTranslation(   0*mm,+434*mm,   -12*mm)); 
167     
168   pRad ->AddNode(pRadFront ,copy=1,new TGeoTranslation(   0*mm,   0*mm, -10.0*mm));
169   pRad ->AddNode(pRadWin   ,copy=1,new TGeoTranslation(   0*mm,   0*mm,   9.5*mm));
170   pRad ->AddNode(pRadLong  ,copy=1,new TGeoTranslation(   0*mm,-204*mm,  -0.5*mm));
171   pRad ->AddNode(pRadLong  ,copy=2,new TGeoTranslation(   0*mm,+204*mm,  -0.5*mm));
172   pRad ->AddNode(pRadShort ,copy=1,new TGeoTranslation(-660*mm,   0*mm,  -0.5*mm));
173   pRad ->AddNode(pRadShort ,copy=2,new TGeoTranslation(+660*mm,   0*mm,  -0.5*mm));
174   for(int i=0;i<3;i++)
175     for(int j=0;j<10;j++)
176       pRad->AddNode(pRadSpacer,copy=10*i+j,new TGeoTranslation(-1330*mm/2+116*mm+j*122*mm,(i-1)*105*mm,-0.5*mm));
177 }//Radiators()  
178 //__________________________________________________________________________________________________
179 void Sr90(TGeoVolume *pTop)
180 {
181     pSrc               =g->MakeTube("Src"              ,g->GetMedium("CH4")   , 0 , 70*mm/2 ,  30*mm/2);       //top container
182       pAlGlass         =g->MakeTube("SrcAlGlass"       ,g->GetMedium("Al")    , 0 , 38*mm/2 ,21.8*mm/2);       //Al glass wall        
183         pPerpexPlug    =g->MakeTube("SrcPerpex"        ,g->GetMedium("Perpex"), 0 , 34*mm/2 ,  20*mm/2);       //Perpex plug         
184           pScrewCentral=g->MakeTube("SrcScrewCentral"  ,g->GetMedium("Steel") , 0 ,  5*mm/2 ,  15*mm/2);       //Steel screw in the center        
185           pScrewSr90   =g->MakeTube("SrcScrewSr90"     ,g->GetMedium("Steel") , 0 ,  2*mm/2 ,  10*mm/2);       //Steel screw to support Sr90 
186             pSr90      =g->MakeTube("SrcSr90"          ,g->GetMedium("Sr90")  , 0 ,  1*mm/2 ,   1*mm/2);       //Sr90 source
187           pHolePerpex  =g->MakeTube("SrcHolePerpex"    ,g->GetMedium("Air")   , 0 ,  4*mm/2 ,  10*mm/2);       //Air hole in perpex plug      
188         pHoleAl        =g->MakeTube("SrcHoleAl"        ,g->GetMedium("Air")   , 0 ,  5*mm/2 , 1.8*mm/2);       //Air hole in Al glass bottom
189     pMylarFoil         =g->MakeTube("SrcMylarFoil"     ,g->GetMedium("Mylar") , 0 , 30*mm/2 , 50*mkm/2);       //Mylar foil                
190                 
191     pTop->AddNode(pSrc,1,new TGeoTranslation(30*cm,0,1*cm));
192       pSrc ->AddNode(pMylarFoil,1,new TGeoTranslation(0,0,21.8*mm/2+50*mkm/2));
193       pSrc ->AddNode(pAlGlass,1,new TGeoTranslation(0,0,0));                           //Al glass to fake Src volume
194         pAlGlass->AddNode(       pHoleAl      ,1,new TGeoTranslation(6*mm,0, -10*mm));
195         pAlGlass->AddNode(       pPerpexPlug  ,1,new TGeoTranslation(0*mm,0, 0.9*mm));
196           pPerpexPlug->AddNode(  pHolePerpex  ,1,new TGeoTranslation(6*mm,0,  -5*mm));      
197           pPerpexPlug->AddNode(  pScrewCentral,1,new TGeoTranslation(0   ,0, 2.5*mm));  
198           pPerpexPlug->AddNode(  pScrewSr90   ,1,new TGeoTranslation(6*mm,0,   5*mm));  
199             pScrewSr90->AddNode( pSr90        ,1,new TGeoTranslation(0   ,0,-4.5*mm));  
200 }//Sr90()    
201 //__________________________________________________________________________________________________
202 void Sandbox(TGeoVolume *pTop)
203 {//Sandbox  
204   TGeoVolume *pSandBox  =g->MakeBox( "SandBox"  ,g->GetMedium("Air")  ,dx=1419*mm/2 ,dy=1378*mm/2   ,dz=50.5*mm/2);  //2072P1   
205   TGeoVolume *pSandCover=g->MakeBox( "SandCover",g->GetMedium("Al")   ,dx=1419*mm/2 ,dy=1378*mm/2   ,dz= 0.5*mm/2);  
206   TGeoVolume *pSandComb =g->MakeBox( "SandComb" ,g->GetMedium("Roha") ,dx=1359*mm/2 ,dy=1318*mm/2   ,dz=49.5*mm/2);  
207   
208   pTop->AddNode(pSandBox,copy=1,new TGeoTranslation(  0*mm,0*mm, -73.75*mm)); //p.84 TDR
209     pSandBox->AddNode(pSandComb  ,copy=1,new TGeoTranslation(  0*mm,0*mm,      0*mm)); //2072P1
210     pSandBox->AddNode(pSandCover ,copy=1,new TGeoTranslation(  0*mm,0*mm,    +25*mm)); 
211     pSandBox->AddNode(pSandCover ,copy=2,new TGeoTranslation(  0*mm,0*mm,    -25*mm)); 
212 }//Sandbox()
213 //__________________________________________________________________________________________________
214 void Axis()
215 {
216 // Draw axises  on top of geometry    
217   Double_t X[6]={0,0,0,300,0,0};  Double_t Y[6]={0,0,0,0,300,0};  Double_t Z[6]={0,0,0,0,0,300};  
218   TPolyLine3D *pXaxis=new TPolyLine3D(2,X);pXaxis->SetLineColor(kRed);   pXaxis->Draw();
219   TPolyLine3D *pYaxis=new TPolyLine3D(2,Y);pYaxis->SetLineColor(kGreen); pYaxis->Draw();
220   TPolyLine3D *pZaxis=new TPolyLine3D(2,Z);pZaxis->SetLineColor(kBlue);  pZaxis->Draw();  
221 }
222 //__________________________________________________________________________________________________
223 void Colors()
224 {
225 //Set volume colors  
226   TGeoVolume *pVol=0;
227   pVol=g->GetVolume("Pc")       ; if(pVol) pVol->SetLineColor(kGreen);
228   pVol=g->GetVolume("PPFlarge") ; if(pVol) pVol->SetLineColor(kYellow);
229   pVol=g->GetVolume("PPFsmall") ; if(pVol) pVol->SetLineColor(kYellow);
230   pVol=g->GetVolume("RadFront") ; if(pVol) pVol->SetLineColor(kRed);
231   pVol=g->GetVolume("RadLong")  ; if(pVol) pVol->SetLineColor(46);
232   pVol=g->GetVolume("RadShort") ; if(pVol) pVol->SetLineColor(kMagenta);
233   pVol=g->GetVolume("RadWin")   ; if(pVol) pVol->SetLineColor(kBlue);
234   pVol=g->GetVolume("RadSpacer"); if(pVol) pVol->SetLineColor(kYellow);
235   pVol=g->GetVolume("SrcSr90")       ; if(pVol) pVol->SetLineColor(kRed);
236   pVol=g->GetVolume("SrcScrewSr90")  ; if(pVol) pVol->SetLineColor(kGreen);
237   pVol=g->GetVolume("SrcHolePerpex") ; if(pVol) pVol->SetLineColor(26);
238   pVol=g->GetVolume("SrcHoleAl")     ; if(pVol) pVol->SetLineColor(27);
239 }