]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - START/AliSTARTv1.cxx
AliRoot way for Air
[u/mrichter/AliRoot.git] / START / AliSTARTv1.cxx
index ae8ba1a31ee2cd9bb9918ceb71b17c4ae50721ab..3cdd912fa655da48c9b51d10845431aa4927cedc 100755 (executable)
@@ -84,6 +84,10 @@ void AliSTARTv1::CreateGeometry()
   Float_t pstart[3]={4.3, 10.,6.8};
   Float_t pinstart[3]={0.,1.6,6.5};
   Float_t ppmt[3]={0.,1.3,3.5};
+
+  Float_t preg[3]={0.,0.875,0.005}; //dobavil bogdanov
+  //  Float_t pdes[3]={0.875,1.3,0.005}; //dobavil bogdanov
+
   Float_t pdivider[3]={0.,1.2,1.75};
   Float_t pdiv2[3]={0.,1.2,1.25};
   Float_t pdiv1[3]={0.6,1.2,0.5};
@@ -199,7 +203,7 @@ void AliSTARTv1::CreateGeometry()
 
 //START interior
     gMC->Gsvolu("0INS","TUBE",idtmed[kAir],pinstart,3);
-    gMC->Gsvolu("0PMT","TUBE",idtmed[kVac],ppmt,3);     
+    gMC->Gsvolu("0PMT","TUBE",idtmed[kAir],ppmt,3);     
     gMC->Gsvolu("0DIV","TUBE",idtmed[kVac],pdivider,3);     
     gMC->Gsvolu("0SU1","TUBE",idtmed[kC],psupport1,3);//C kozhuh vnutri
     gMC->Gsvolu("0SU2","TUBE",idtmed[kC],psupport2,3);// snaruzhi  C
@@ -222,165 +226,171 @@ void AliSTARTv1::CreateGeometry()
        x = 6.5 * TMath::Sin(is * angel);
        y = 6.5 * TMath::Cos(is * angel);
        
-     phi[0] = -30 * is;
-     phi[1] = 90 - is * 30;
-     phi[2] = 90 - is * 30;
-     for (Int_t j = 0; j < 3; j++)
-       if (phi[j] < 0)  phi[j] += 360;
+       phi[0] = -30 * is;
+       phi[1] = 90 - is * 30;
+       phi[2] = 90 - is * 30;
+       for (Int_t j = 0; j < 3; j++)
+         if (phi[j] < 0)  phi[j] += 360;
        
-     AliMatrix (idrotm[902 + is], 90.,         phi[0],
-                                90. + theta, phi[1],
-                                theta,       phi[2]);  
+       AliMatrix (idrotm[902 + is], 90.,         phi[0],
+                  90. + theta, phi[1],
+                  theta,       phi[2]);  
        z=-pstart[2]+pinstart[2]+0.2;
-     gMC->Gspos ("0INS", is + 1, "0STR", x, y, z, idrotm[902 + is], "ONLY");
-     gMC->Gspos ("0INS", is + 13, "0STL", x, y, z, 0, "ONLY");
+       gMC->Gspos ("0INS", is + 1, "0STR", x, y, z, idrotm[902 + is], "ONLY");
+       gMC->Gspos ("0INS", is + 13, "0STL", x, y, z, 0, "ONLY");
       }        
-  
-      
-      x=0;
-    y=0;
-    z=-pinstart[2]+ppmt[2]+2.*psupport6[2]+0.1;
-    gMC->Gspos("0PMT",1,"0INS",x,y,z,0,"ONLY");
-    z=z+pdivider[2]+ppmt[2];
-    gMC->Gspos("0DIV",1,"0INS",x,y,z,0,"ONLY");
-      
-// PMT
+   
       
-    // Entry window (glass)
-    gMC->Gsvolu("0TOP","TUBE",idtmed[kGlass],ptop,3); //glass
-     //   gMC->Gsvolu("0TOP","TUBE",idtmed[12],ptop,3); //lucite
-     z=-ppmt[2]+ptop[2];
-    gMC->Gspos("0TOP",1,"0PMT",0,0,z,0,"ONLY");
-    //     printf("Z PTOP %f -ppmt[2] %f ptop[2] %f\n",z,-ppmt[2],ptop[2]);
-    
-    // Bottom glass
-    gMC->Gsvolu("0BOT","TUBE",idtmed[kGlass],pbot,3);
-    z=ppmt[2]-pbot[2];
-    if(fDebug) printf("%s: Z bottom %f\n",ClassName(),z);
-    gMC->Gspos("0BOT",1,"0PMT",0,0,z,0,"ONLY");
-    // Side cylinder glass
-    gMC->Gsvolu("0OUT","TUBE",idtmed[kGlass],pglass,3);
-    z=ppmt[2]-pglass[2];
-    //      printf("Z glass %f\n",z);
-    gMC->Gspos("0OUT",1,"0PMT",0,0,z,0,"ONLY");
-    //PMT electrodes support structure
-    gMC->Gsvolu("0CER","TUBE",idtmed[kCer],pcer,3);
-    gMC->Gsvolu("0STE","TUBE",idtmed[kSteel],psteel,3);
-    z=-ppmt[2]+2*ptop[2]+0.3;;
-    //      printf("Z Cer 1 %f\n",z);
-    for (is=1; is<=15; is++)
-      {
-       z=z+psteel[2]+pcer[2];
-       gMC->Gspos("0CER",is,"0PMT",0,0,z,0,"ONLY");
-       z=z+psteel[2]+pcer[2];
-       gMC->Gspos("0STE",is,"0PMT",0,0,z,0,"ONLY");
-      }
-    
-    // Divider
-    // Knob at the bottom of PMT baloon
-    
-    gMC->Gsvolu("0NB","TUBE",idtmed[6],pknob,3);
-    z=-pdivider[2]+pknob[2];
-    //      printf("zknob %f\n",z);
-    gMC->Gspos("0NB",1,"0DIV",0,0,z,0,"ONLY");
-    gMC->Gsvolu("0KB","TUBE",idtmed[kGlass],pknob_bot,3);
-    z=-pdivider[2]+2*pknob[2]+pknob_bot[2];
-    //      printf(knobbot %f\n",z);
-    gMC->Gspos("0KB",1,"0DIV ",0,0,z,0,"ONLY");
-    gMC->Gsvolu("0VAC","TUBE",idtmed[kVac],pknob_vac,3);
-    z=-pdivider[2]+pknob_vac[2];
-    //      printf("knobvac %f\n",z);
-    gMC->Gspos("0VAC",1,"0DIV",0,0,z,0,"ONLY");
-    //Steel pins + pin holes
-    gMC->Gsvolu("0PIN","TUBE",idtmed[kSteel],ppins,3);
-    z=-pdivider[2]+ppins[2];
-    gMC->Gspos("0PIN",1,"0DIV",0,0,z,0,"ONLY");
-    gMC->Gsvolu("0HOL","TUBE",idtmed[kBrass],phole,3);
-    z=-pdivider[2]+2*ppins[2]+phole[2];
-    gMC->Gspos("0HOL",1,"0DIV",0,0,z,0,"ONLY");
-    
-    //Socket
-    gMC->Gsvolu("0V1","TUBE",idtmed[kCer],pdiv1,3);
-    z=-pdivider[2]+pdiv1[2];
-    gMC->Gspos("0V1",1,"0DIV",0,0,z,0,"ONLY");
-    //Resistors
-    gMC->Gsvolu("0V2","TUBE",idtmed[kAir],pdiv2,3);
-    z=pdivider[2]-pdiv2[2];
-    gMC->Gspos("0V2",1,"0DIV",0,0,z,0,"ONLY");
-    gMC->Gsvolu("0RS","TUBE",idtmed[kCer],presist,3);
-    z=-pdiv2[2]+presist[2];
-    gMC->Gspos("0RS",1,"0V2",0,0,z,0,"ONLY");
-    gMC->Gsvolu("0RB","TUBE",idtmed[kRibber],pribber,3);
-    z=pdiv2[2]-pribber[2];
-    gMC->Gspos("0RB",1,"0V2",0,0,z,0,"ONLY");
+   x=0;
+   y=0;
+   z=-pinstart[2]+ppmt[2]+2.*psupport6[2]+0.1;
+   gMC->Gspos("0PMT",1,"0INS",x,y,z,0,"ONLY");
+   z=z+pdivider[2]+ppmt[2];
+   gMC->Gspos("0DIV",1,"0INS",x,y,z,0,"ONLY");
    
-  
-    //Support  left side
-
-    z=-pstart[2]+psupport1[2];
-    gMC->Gspos("0SU1",2,"0STL",0,0,z,0,"ONLY"); //C kozhuh snaruzhi
-    gMC->Gspos("0SU2",2,"0STL",0,0,z,0,"ONLY"); //C kozhuh vnutri
-    z=-pstart[2]+psupport3[2];
-    gMC->Gspos("0SU3",2,"0STL",0,0,z,0,"ONLY"); //peredniaia kryshka
-    z=-pstart[2]+2.*psupport1[2];
-    gMC->Gspos("0SU4",2,"0STL",0,0,z,0,"ONLY"); //zadnaiai kryshka
-    //Dyrki dlia feu v zadnej kryshke
-    z=0;
-    
-    for (is=1; is<=12; is++)
-      {  
-       x=6.5*TMath::Sin(is*angel);
-       y=6.5 *TMath::Cos(is*angel);
-       gMC->Gspos("0SU5",is+12,"0SU4",x,y,z,0,"ONLY");
-
-      }        
-
-    //Support  right side
-
-    z=-pstart[2]+psupport1[2]+0.1;
-    gMC->Gspos("0SU1",1,"0STR",0,0,z,0,"ONLY"); //C kozhuh snaruzhi
-    gMC->Gspos("0SU2",1,"0STR",0,0,z,0,"ONLY"); //C kozhuh vnutri
-    z=-pstart[2]+psupport3[2]+0.1;
-    gMC->Gspos("0SU3",1,"0STR",0,0,z,0,"ONLY"); //peredniaia kryshka
-    z=-pstart[2]+2.*psupport1[2]+0.1;
-    gMC->Gspos("0SU4",1,"0STR",0,0,z,0,"ONLY"); //zadnaiai kryshka
-    //Dyrki dlia feu v zadnej kryshke
-    z=0;
-           
-    for (is=1; is<=12; is++)
-      {  
-       x=(6.5+7.8*TMath::Tan(5.4*3.1415/180)) *TMath::Sin(is*angel);
-       y=(6.5+7.8*TMath::Tan(5.4*3.1415/180)) *TMath::Cos(is*angel);
-       gMC->Gspos("0SU5",is,"0SU4",x,y,z,0,"ONLY");
-
-      }        
+   // PMT
+   
+   // Entry window (glass)
+   gMC->Gsvolu("0TOP","TUBE",idtmed[kGlass],ptop,3); //glass
+   //   gMC->Gsvolu("0TOP","TUBE",idtmed[12],ptop,3); //lucite
+   z=-ppmt[2]+ptop[2];
+   gMC->Gspos("0TOP",1,"0PMT",0,0,z,0,"ONLY");
+   //     printf("Z PTOP %f -ppmt[2] %f ptop[2] %f\n",z,-ppmt[2],ptop[2]);
+   
+   //Fotokatod
+   
+   gMC->Gsvolu ("0REG", "TUBE", idtmed[kGlass], preg, 3); //dobavil bogdanov(AliSTARTv2)
+   z = -ppmt[2] + 2 * ptop[2] + preg[2]; //dobavil bogdanov(AliSTARTv2)
+   gMC->Gspos ("0REG", 1, "0PMT", 0, 0, z, 0, "ONLY"); //dobavil bogdanov(AliSTARTv2)
+   
+   // Bottom glass
+   gMC->Gsvolu("0BOT","TUBE",idtmed[kGlass],pbot,3);
+   z=ppmt[2]-pbot[2];
+   if(fDebug) printf("%s: Z bottom %f\n",ClassName(),z);
+   gMC->Gspos("0BOT",1,"0PMT",0,0,z,0,"ONLY");
+   // Side cylinder glass
+   gMC->Gsvolu("0OUT","TUBE",idtmed[kGlass],pglass,3);
+   z=ppmt[2]-pglass[2];
+   //      printf("Z glass %f\n",z);
+   gMC->Gspos("0OUT",1,"0PMT",0,0,z,0,"ONLY");
+   //PMT electrodes support structure
+   gMC->Gsvolu("0CER","TUBE",idtmed[kCer],pcer,3);
+   gMC->Gsvolu("0STE","TUBE",idtmed[kSteel],psteel,3);
+   z=-ppmt[2]+2*ptop[2]+0.3;;
+   //      printf("Z Cer 1 %f\n",z);
+   for (is=1; is<=15; is++)
+     {
+       z=z+psteel[2]+pcer[2];
+       gMC->Gspos("0CER",is,"0PMT",0,0,z,0,"ONLY");
+       z=z+psteel[2]+pcer[2];
+       gMC->Gspos("0STE",is,"0PMT",0,0,z,0,"ONLY");
+     }
+   
+   // Divider
+   // Knob at the bottom of PMT baloon
+   
+   gMC->Gsvolu("0NB","TUBE",idtmed[6],pknob,3);
+   z=-pdivider[2]+pknob[2];
+   //      printf("zknob %f\n",z);
+   gMC->Gspos("0NB",1,"0DIV",0,0,z,0,"ONLY");
+   gMC->Gsvolu("0KB","TUBE",idtmed[kGlass],pknob_bot,3);
+   z=-pdivider[2]+2*pknob[2]+pknob_bot[2];
+   //      printf(knobbot %f\n",z);
+   gMC->Gspos("0KB",1,"0DIV ",0,0,z,0,"ONLY");
+   gMC->Gsvolu("0VAC","TUBE",idtmed[kVac],pknob_vac,3);
+   z=-pdivider[2]+pknob_vac[2];
+   //      printf("knobvac %f\n",z);
+   gMC->Gspos("0VAC",1,"0DIV",0,0,z,0,"ONLY");
+   //Steel pins + pin holes
+   gMC->Gsvolu("0PIN","TUBE",idtmed[kSteel],ppins,3);
+   z=-pdivider[2]+ppins[2];
+   gMC->Gspos("0PIN",1,"0DIV",0,0,z,0,"ONLY");
+   gMC->Gsvolu("0HOL","TUBE",idtmed[kBrass],phole,3);
+   z=-pdivider[2]+2*ppins[2]+phole[2];
+   gMC->Gspos("0HOL",1,"0DIV",0,0,z,0,"ONLY");
+   
+   //Socket
+   gMC->Gsvolu("0V1","TUBE",idtmed[kCer],pdiv1,3);
+   z=-pdivider[2]+pdiv1[2];
+   gMC->Gspos("0V1",1,"0DIV",0,0,z,0,"ONLY");
+   //Resistors
+   gMC->Gsvolu("0V2","TUBE",idtmed[kAir],pdiv2,3);
+   z=pdivider[2]-pdiv2[2];
+   gMC->Gspos("0V2",1,"0DIV",0,0,z,0,"ONLY");
+   gMC->Gsvolu("0RS","TUBE",idtmed[kCer],presist,3);
+   z=-pdiv2[2]+presist[2];
+   gMC->Gspos("0RS",1,"0V2",0,0,z,0,"ONLY");
+   gMC->Gsvolu("0RB","TUBE",idtmed[kRibber],pribber,3);
+   z=pdiv2[2]-pribber[2];
+   gMC->Gspos("0RB",1,"0V2",0,0,z,0,"ONLY");
+   
+   
+   //Support  left side
+   
+   z=-pstart[2]+psupport1[2];
+   gMC->Gspos("0SU1",2,"0STL",0,0,z,0,"ONLY"); //C kozhuh snaruzhi
+   gMC->Gspos("0SU2",2,"0STL",0,0,z,0,"ONLY"); //C kozhuh vnutri
+   z=-pstart[2]+psupport3[2];
+   gMC->Gspos("0SU3",2,"0STL",0,0,z,0,"ONLY"); //peredniaia kryshka
+   z=-pstart[2]+2.*psupport1[2];
+   gMC->Gspos("0SU4",2,"0STL",0,0,z,0,"ONLY"); //zadnaiai kryshka
+   //Dyrki dlia feu v zadnej kryshke
+   z=0;
+   
+   for (is=1; is<=12; is++)
+     {  
+       x=6.5*TMath::Sin(is*angel);
+       y=6.5 *TMath::Cos(is*angel);
+       gMC->Gspos("0SU5",is+12,"0SU4",x,y,z,0,"ONLY");
+       
+     } 
+   
+   //Support  right side
+   
+   z=-pstart[2]+psupport1[2]+0.1;
+   gMC->Gspos("0SU1",1,"0STR",0,0,z,0,"ONLY"); //C kozhuh snaruzhi
+   gMC->Gspos("0SU2",1,"0STR",0,0,z,0,"ONLY"); //C kozhuh vnutri
+   z=-pstart[2]+psupport3[2]+0.1;
+   gMC->Gspos("0SU3",1,"0STR",0,0,z,0,"ONLY"); //peredniaia kryshka
+   z=-pstart[2]+2.*psupport1[2]+0.1;
+   gMC->Gspos("0SU4",1,"0STR",0,0,z,0,"ONLY"); //zadnaiai kryshka
+   //Dyrki dlia feu v zadnej kryshke
+   z=0;
+   
+   for (is=1; is<=12; is++)
+     {  
+       x=(6.5+7.8*TMath::Tan(5.4*3.1415/180)) *TMath::Sin(is*angel);
+       y=(6.5+7.8*TMath::Tan(5.4*3.1415/180)) *TMath::Cos(is*angel);
+       gMC->Gspos("0SU5",is,"0SU4",x,y,z,0,"ONLY");
+       
+     } 
 
-    gMC->Gspos("0SU6",1,"0INS",0,0,0,0,"ONLY");//C stakanchik dlia feu 
-    z=-pinstart[2]+psupport6[2];
-    gMC->Gspos("0SU7",1,"0INS",0,0,z,0,"ONLY"); //Al kryshechka 
-    
-    z=pinstart[2]-psupport7[2];
-    gMC->Gspos("0SU8",1,"0INS",0,0,z,0,"ONLY"); //Al kolechko
-    
-        
-    Float_t par[3];
-    par[0]=4.4;
-    par[1]=4.5;
-    par[2]=0.5;
-    gMC->Gsvolu("0SC0","TUBE",idtmed[kC],par,3);
-    z=ppcon[3]+par[2];
-    gMC->Gspos("0SC0",1,"0SUP",0,0,z,0,"ONLY"); 
-    z += par[2];
-    par[0]=4.4;
-    par[1]=5.1;
-    par[2]=0.05;
-    gMC->Gsvolu("0SC1","TUBE",idtmed[kC],par,3);
-    z += par[2];
-    gMC->Gspos("0SC1",1,"0SUP",0,0,z,0,"ONLY"); 
-    z=z+par[2];
-    par[0]=4.9;
-    par[1]=5.0;
-    par[2]=6.9/2;
+   gMC->Gspos("0SU6",1,"0INS",0,0,0,0,"ONLY");//C stakanchik dlia feu 
+   z=-pinstart[2]+psupport6[2];
+   gMC->Gspos("0SU7",1,"0INS",0,0,z,0,"ONLY"); //Al kryshechka 
+   
+   z=pinstart[2]-psupport7[2];
+   gMC->Gspos("0SU8",1,"0INS",0,0,z,0,"ONLY"); //Al kolechko
+   
+   
+   Float_t par[3];
+   par[0]=4.4;
+   par[1]=4.5;
+   par[2]=0.5;
+   gMC->Gsvolu("0SC0","TUBE",idtmed[kC],par,3);
+   z=ppcon[3]+par[2];
+   gMC->Gspos("0SC0",1,"0SUP",0,0,z,0,"ONLY"); 
+   z += par[2];
+   par[0]=4.4;
+   par[1]=5.1;
+   par[2]=0.05;
+   gMC->Gsvolu("0SC1","TUBE",idtmed[kC],par,3);
+   z += par[2];
+   gMC->Gspos("0SC1",1,"0SUP",0,0,z,0,"ONLY"); 
+   z=z+par[2];
+   par[0]=4.9;
+   par[1]=5.0;
+   par[2]=6.9/2;
     gMC->Gsvolu("0SC2","TUBE",idtmed[kC],par,3);
     z += par[2];
     gMC->Gspos("0SC2",1,"0SUP",0,0,z,0,"ONLY"); 
@@ -451,7 +461,15 @@ void AliSTARTv1::CreateMaterials()
    Float_t sxmgmx = gAlice->Field()->Max();
    Float_t a,z,d,radl,absl,buf[1];
    Int_t nbuf;
-
+   Int_t *idtmed = fIdtmed->GetArray();
+
+// AIR
+                                                                                
+   Float_t aAir[4]={12.0107,14.0067,15.9994,39.948};
+   Float_t zAir[4]={6.,7.,8.,18.};
+   Float_t wAir[4]={0.000124,0.755267,0.231781,0.012827};
+   Float_t dAir = 1.20479E-3;
+                                                                                
 // Scintillator CH
    Float_t ascin[2]={1.01,12.01};
    Float_t zscin[2]={1,6};
@@ -494,7 +512,7 @@ void AliSTARTv1::CreateMaterials()
 //*** Definition Of avaible START materials ***
    AliMaterial(0, "START Steel$", 55.850,26.,7.87,1.76,999);
    AliMaterial(1, "START Vacuum$", 1.e-16,1.e-16,1.e-16,1.e16,999);
-   AliMaterial(2, "START Air$", 14.61, 7.3, .001205, 30423.,999); 
+   AliMixture(2, "START Air$", aAir, zAir, dAir,4,wAir);
    AliMaterial(10, "CarbonPlastic$", 12.01, 6.0, 2.26, 18.8,999); 
    AliMaterial(11, "Aliminium$", 26.98, 13.0, 2.7, 8.9,999); 
 
@@ -507,7 +525,51 @@ void AliSTARTv1::CreateMaterials()
    gMC->Gfmate((*fIdmate)[4], namate, a, z, d, radl, absl, buf, nbuf);
    acer[1]=a;
    zcer[1]=z;
+
+// Definition Cherenkov parameters
+  const Int_t NUMENTRIES = 32;
+
+ Float_t ppckov[NUMENTRIES] =
+            { 2.034E-9, 2.068E-9, 2.103E-9, 2.139E-9,
+              2.177E-9, 2.216E-9, 2.256E-9, 2.298E-9,
+              2.341E-9, 2.386E-9, 2.433E-9, 2.481E-9,
+              2.532E-9, 2.585E-9, 2.640E-9, 2.697E-9,
+              2.757E-9, 2.820E-9, 2.885E-9, 2.954E-9,
+              3.026E-9, 3.102E-9, 3.181E-9, 3.265E-9,
+              3.353E-9, 3.446E-9, 3.545E-9, 3.649E-9,
+              3.760E-9, 3.877E-9, 4.002E-9, 4.136E-9 };
+
+ Float_t rindex_qwarz[NUMENTRIES] =
+            { 1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
+              1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
+              1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
+              1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
+              1.458, 1.458, 1.458, 1.458 };
+
+ Float_t rindex_air[NUMENTRIES] =
+            { 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
+              1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
+              1., 1., 1., 1. };
+
+    Float_t effic_all[NUMENTRIES] =
+            { 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
+              1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
+              1., 1., 1., 1. };
+
+ Float_t absor_air[NUMENTRIES] =
+           { 200., 200., 200., 200., 200., 200., 200., 
+             200., 200., 200., 200., 200., 200., 200.,
+             200., 200., 200., 200., 200., 200., 200.,
+             200., 200., 200., 200., 200., 200., 200.,
+             200., 200., 200., 200. };
    
+ Float_t absor_qwarz[NUMENTRIES] =
+           { 2000., 2000., 2000., 2000., 2000., 2000., 2000., 
+             2000., 2000., 2000., 2000., 2000., 2000., 2000.,
+             2000., 2000., 2000., 2000., 2000., 2000., 2000.,
+             2000., 2000., 2000., 2000., 2000., 2000., 2000.,
+             2000., 2000., 2000., 2000. };
+
    AliMixture( 9, "Ceramic    $", acer, zcer, denscer, 2, wcer);
    AliMixture( 5, "Scintillator$",ascin,zscin,denscin,-2,wscin);
    AliMixture( 6, "Brass    $", abrass, zbrass, denbrass, 2, wbrass);
@@ -530,6 +592,9 @@ void AliSTARTv1::CreateMaterials()
    AliMedium(14, "PenoPlast$", 9, 0, isxfld, sxmgmx, 10., .01, 1., .003, .003);  
    AliMedium(15, "Aluminium$", 11, 0, isxfld, sxmgmx, 10., .01, 1., .003, .003);  
 
+  
+   gMC->SetCerenkov (idtmed[kGlass], NUMENTRIES, ppckov, absor_qwarz, effic_all, rindex_qwarz);
+   gMC->SetCerenkov (idtmed[kAir], NUMENTRIES, ppckov, absor_air, effic_all, rindex_air);
    if(fDebug) cout<<ClassName()<<": ++++++++++++++Medium set++++++++++"<<endl;
 
 }
@@ -555,6 +620,7 @@ void AliSTARTv1::DrawDetector()
   gMC->SetClipBox("*",0,1000,-1000,1000,-1000,1000);
   gMC->DefaultRange();
   gMC->Gdraw("alic",90,0,0,-35,9.5,.6,0.6);
+  //gMC->Gdraw("alic",0,0,0,10,9.5,.8,0.8); //other side view
   gMC->Gdhead(1111,"T-Zero detector");
   gMC->Gdopt("hide","off");
 }
@@ -566,7 +632,7 @@ void AliSTARTv1::Init()
 //
 //Int_t *idtmed  = gAlice->Idtmed();
   AliSTART::Init();
-  fIdSens1=gMC->VolId("0TOP");
+  fIdSens1=gMC->VolId("0REG");
   if(fDebug) printf("%s: *** START version 0 initialized ***\n",ClassName());
  
 }
@@ -589,6 +655,11 @@ void AliSTARTv1::StepManager()
   if(!gMC->IsTrackAlive()) return; // particle has disappeared
   //  Float_t charge = gMC->TrackCharge();
   //  if(TMath::Abs(charge)<=0.) return; //take only charged particles
+
+// If particles is photon then ...
+
+  if (gMC->TrackPid() == 50000050)
+  {
   id=gMC->CurrentVolID(copy);
   
   
@@ -624,9 +695,13 @@ void AliSTARTv1::StepManager()
     if(gMC->IsTrackExiting())  {
       Float_t de=gMC->Edep(); 
       edep=edep+de;
-      hits[3]=edep*1e3;
+      hits[3]=edep*1e3; 
+
+
+      //      cout<<"partID"<<hits[5]<<endl;
       new(lhits[fNhits++]) AliSTARThit(fIshunt,gAlice->GetMCApp()->GetCurrentTrackNumber(),vol,hits);      
     }
+   }
   }
 //---------------------------------------------------------------------
 }