Hi Yuri,
Implemented in CVS. You can do:
{
Int_t z, iel, natoms;
Double_t density = 1.39;
TGeoMixture *mat4 = new TGeoMixture("MYLAR",3,density);
mat4->DefineElement(iel=0, z=6, natoms=10);
mat4->DefineElement(iel=1, z=1, natoms=8);
mat4->DefineElement(iel=2, z=8, natoms=4);
mat4->Print();
}
You get:
Mixture MYLAR Aeff=8.73491 Zeff=4.54545 rho=1.39 radlen=32.2432 index=0
Element #0 : Z= 6.00 A= 12.01 w= 0.45
Element #1 : Z= 1.00 A= 1.01 w= 0.36
Element #2 : Z= 8.00 A= 16.00 w= 0.18
So you do not have to define elements youself.
Andrei
Y. Shitov wrote:
>Hi, ROOT team,
>
>Is it possible to implement GEANT-3 GSMIXT() NLMAT-like option in
>TGeoMixture?
>
>-----------------from GEANT-3 doc----------->
>CALL GSMIXT (IMATE,NAMATE,A,Z,DENS,NLMAT,WMAT*)
>...
>NLMAT - number of elements in the mixture;
> > 0 WMAT contains the proportion by weights of each material in
> the mixture;
> < 0 WMAT contains the proportion by number of atoms of each kind,
> the content of WMAT in output is changed to contain the relative
> weights;
>-----------------from GEANT-3 doc----------->
>
>I think it will be suitable to define materials according to its
>chemical formulas like:
>
>TGeoElement* O = new TGeoElement ("O","Oxygen",15.9994,8,);
>TGeoElement* C = new TGeoElement ("C","Carbon",12.0107,6,);
>TGeoElement* H = new TGeoElement ("H","Hydrogen",1.00794,1);
>
>// Mylar wrapper C10H8O4
>TGeoMixture *mat4 = new TGeoMixture("MYLAR",3,dmyl);
>mat4->SetUniqueID( 4);
>mat4->DefineElement(C,-10.);
>mat4->DefineElement(H,-8.);
>mat4->DefineElement(O,-4.);
>
>Best,
>Yuri
>
>
>
>
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET