X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=START%2FAliSTARTv1.cxx;fp=START%2FAliSTARTv1.cxx;h=3cdd912fa655da48c9b51d10845431aa4927cedc;hp=ae8ba1a31ee2cd9bb9918ceb71b17c4ae50721ab;hb=60b0465d88b8de3f416aabc694fc3346689327c1;hpb=849bff36b8e3947e20e4e1db5ed138605a1c4ade diff --git a/START/AliSTARTv1.cxx b/START/AliSTARTv1.cxx index ae8ba1a31ee..3cdd912fa65 100755 --- a/START/AliSTARTv1.cxx +++ b/START/AliSTARTv1.cxx @@ -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<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"<GetMCApp()->GetCurrentTrackNumber(),vol,hits); } + } } //--------------------------------------------------------------------- }