- pMC->Gfmate((*fIdmate)[7], namate, a, z, d, radl, absl, buf, nbuf);
- ag[1] = a;
- zg[1] = z;
- dg = dne * .9 + dc * .1;
-
- // -- Create Ne/CO2 90/10 mixture
-
- AliMixture(3, "Gas-mixt $", ag, zg, dg, 2, wg);
- AliMixture(4, "Gas-mixt $", ag, zg, dg, 2, wg);
-
- AliMaterial(5, "G10$", 20., 10., 1.7, 19.4, 999.);
- AliMixture(6, "Mylar$", amy, zmy, dmy, -3, wmy);
-
- a = ac[0];
- z = zc[0];
- AliMaterial(8, "Carbon", a, z, densc, radlc, 999.);
-
- AliMaterial(9, "Silicon", asi, zsi, desi, radsi, 999.);
- AliMaterial(99, "Air$", 14.61, 7.3, .001205, 30420., 67500.);
-
- AliMedium(400, "Al wall$", 0, 0, ISXFLD, SXMGMX, 10., .1, .1, .1, .1);
- AliMedium(402, "Gas mix1$", 3, 0, ISXFLD, SXMGMX, 10., .01,.1, .001, .01);
- AliMedium(403, "Gas mix2$", 3, 0, ISXFLD, SXMGMX, 10., .01,.1, .001, .01);
- AliMedium(404, "Gas mix3$", 4, 1, ISXFLD, SXMGMX, 10., .01,.1, .001, .01);
- AliMedium(405, "G10 pln$", 5, 0, ISXFLD, SXMGMX, 10., .1, .1, .1, .1 );
- AliMedium(406, "Mylar $", 6, 0, ISXFLD, SXMGMX, 10., .01,.1, .001, .01);
- AliMedium(407, "CO2 $", 7, 0, ISXFLD, SXMGMX, 10., .01,.1, .01, .01);
- AliMedium(408, "Carbon $", 8, 0, ISXFLD, SXMGMX, 10., .1, .1, .1, .1 );
- AliMedium(409, "Silicon$", 9, 0, ISXFLD, SXMGMX, 10., .1, .1, .1, .1 );
- AliMedium(499, "Air gap$", 99, 0, ISXFLD, SXMGMX, 10., .1, .1, .1, .1 );
+
+ density = 0.;
+ Float_t am=0;
+ Int_t nc;
+
+ Float_t a,z,rho,absl,X0,buf[1];
+ Int_t nbuf;
+
+ for(nc = 0;nc<fNoComp;nc++)
+ {
+
+ // retrive material constants
+
+ gMC->Gfmate((*fIdmate)[fMixtComp[nc]],namate,a,z,rho,X0,absl,buf,nbuf);
+
+ amat[nc] = a;
+ zmat[nc] = z;
+
+ Int_t nnc = (fMixtComp[nc]>=20) ? fMixtComp[nc]%20 : fMixtComp[nc]%10;
+
+ am += fMixtProp[nc]*((fMixtComp[nc]>=20) ? a_pure[nnc] : amol[nnc]);
+ density += fMixtProp[nc]*rho; // density of the mixture
+
+ }
+
+ // mixture proportions by weight!
+
+ for(nc = 0;nc<fNoComp;nc++)
+ {
+
+ Int_t nnc = (fMixtComp[nc]>=20) ? fMixtComp[nc]%20 : fMixtComp[nc]%10;
+
+ wmat[nc] = fMixtProp[nc]*((fMixtComp[nc]>=20) ? a_pure[nnc] : amol[nnc])/am;
+
+ }
+
+ AliMixture(31,"Drift gas 1",amat,zmat,density,fNoComp,wmat);
+ AliMixture(32,"Drift gas 2",amat,zmat,density,fNoComp,wmat);
+ AliMixture(33,"Drift gas 3",amat,zmat,density,fNoComp,wmat);
+
+ AliMedium(2, "Drift gas 1", 31, 0, ISXFLD, SXMGMX, 10., 999.,.1, .001, .001);
+ AliMedium(3, "Drift gas 2", 32, 0, ISXFLD, SXMGMX, 10., 999.,.1, .001, .001);
+ AliMedium(4, "Drift gas 3", 33, 1, ISXFLD, SXMGMX, 10., 999.,.1, .001, .001);
+
+ // Air
+
+ AliMaterial(24, "Air", 14.61, 7.3, .001205, 30420., 67500.);
+
+ AliMedium(24, "Air", 24, 0, ISXFLD, SXMGMX, 10., .1, .1, .1, .1);
+
+ //----------------------------------------------------------------------
+ // solid materials
+ //----------------------------------------------------------------------
+
+ // Al
+
+ AliMaterial(30, "Al", 26.98, 13., 2.7, 8.9, 37.2);
+
+ AliMedium(0, "Al",30, 0, ISXFLD, SXMGMX, 10., .1, .1, .1, .1);
+
+ // Si
+
+ AliMaterial(31, "Si", 28.086, 14.,2.33, 9.36, 999.);
+
+ AliMedium(7, "Al",31, 0, ISXFLD, SXMGMX, 10., .1, .1, .1, .1);
+
+
+ // Mylar C5H4O2
+
+ amat[0]=12.011;
+ amat[1]=1.;
+ amat[2]=15.9994;
+
+ zmat[0]=6.;
+ zmat[1]=1.;
+ zmat[2]=8.;
+
+ wmat[0]=5.;
+ wmat[1]=4.;
+ wmat[2]=2.;
+
+ density = 1.39;
+
+ AliMixture(32, "Mylar",amat,zmat,density,-3,wmat);
+
+ AliMedium(5, "Mylar",32, 0, ISXFLD, SXMGMX, 10., .1, .1, .001, .01);
+
+
+
+
+ // Carbon (normal)
+
+ AliMaterial(33,"C normal",12.011,6.,2.265,18.8,999.);
+
+ AliMedium(6,"C normal",33,0, ISXFLD, SXMGMX, 10., .1, .1, .001, .01);
+
+ // G10 for inner and outr field cage
+ // G10 is 60% SiO2 + 40% epoxy, right now I use A and Z for SiO2
+
+ Float_t rhoFactor;
+
+ amat[0]=28.086;
+ amat[1]=15.9994;
+
+ zmat[0]=14.;
+ zmat[1]=8.;
+
+ wmat[0]=1.;
+ wmat[1]=2.;
+
+ density = 1.7;
+
+
+ AliMixture(34,"G10 aux.",amat,zmat,density,-2,wmat);
+
+
+ gMC->Gfmate((*fIdmate)[34],namate,a,z,rho,X0,absl,buf,nbuf);
+
+ Float_t thickX0 = 0.0052; // field cage in X0 units
+
+ Float_t thick = 2.; // in cm
+
+ X0=19.4; // G10
+
+ rhoFactor = X0*thickX0/thick;
+ density = rho*rhoFactor;
+
+ AliMaterial(35,"G10-fc",a,z,density,999.,999.);
+
+ AliMedium(8,"G10-fc",35,0, ISXFLD, SXMGMX, 10., .1, .1, .001, .01);
+
+ thickX0 = 0.0027; // inner vessel (eta <0.9)
+ thick=0.5;
+ rhoFactor = X0*thickX0/thick;
+ density = rho*rhoFactor;
+
+ AliMaterial(36,"G10-iv",a,z,density,999.,999.);
+
+ AliMedium(9,"G10-iv",36,0, ISXFLD, SXMGMX, 10., .1, .1, .001, .01);
+
+ // Carbon fibre
+
+ gMC->Gfmate((*fIdmate)[33],namate,a,z,rho,X0,absl,buf,nbuf);
+
+ thickX0 = 0.0133; // outer vessel
+ thick=3.0;
+ rhoFactor = X0*thickX0/thick;
+ density = rho*rhoFactor;
+
+
+ AliMaterial(37,"C-ov",a,z,density,999.,999.);
+
+ AliMedium(10,"C-ov",37,0, ISXFLD, SXMGMX, 10., .1, .1, .001, .01);
+
+ thickX0=0.015; // inner vessel (cone, eta > 0.9)
+ thick=1.5;
+ rhoFactor = X0*thickX0/thick;
+ density = rho*rhoFactor;
+
+ AliMaterial(38,"C-ivc",a,z,density,999.,999.);
+
+ AliMedium(11,"C-ivc",38,0, ISXFLD, SXMGMX, 10., .1, .1, .001, .01);
+
+ //
+
+ AliMedium(12,"CO2",10,0, ISXFLD, SXMGMX, 10., 999.,.1, .001, .001);
+
+
+