library: libGeom #include "TGeoMaterial.h"

# TGeoMixture

class description - source file - inheritance tree (.pdf)

## class TGeoMixture : public TGeoMaterial

| Inheritance Chart:
`TObject`
| <- | `TNamed`
`TAttFill`
| <- | `TGeoMaterial`
| <- | `TGeoMixture` |

        public:

                               TGeoMixture()
                               TGeoMixture(const char* name, Int_t nel, Double_t rho = -1)
                               TGeoMixture(const TGeoMixture&)
                       virtual ~TGeoMixture()
                static TClass* Class()
                          void DefineElement(Int_t iel, Double_t a, Double_t z, Double_t weight)
                          void DefineElement(Int_t iel, TGeoElement* elem, Double_t weight)
                          void DefineElement(Int_t iel, Int_t z, Int_t natoms)
                     Double_t* GetAmixt() const
                 virtual Int_t GetByteCount() const
          virtual TGeoElement* GetElement(Int_t i = 0) const
                         Int_t GetNelements() const
                     Double_t* GetWmixt() const
                     Double_t* GetZmixt() const
               virtual TClass* IsA() const
                virtual Bool_t IsEq(const TGeoMaterial* other) const
                virtual Bool_t IsMixture() const
                  TGeoMixture& operator=(const TGeoMixture&)
                  virtual void Print(Option_t* option = "") const
                  virtual void SavePrimitive(ofstream& out, Option_t* option)
                          void SetA(Double_t a)
                          void SetZ(Double_t z)
                  virtual void ShowMembers(TMemberInspector& insp, char* parent)
                  virtual void Streamer(TBuffer& b)
                          void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

              Int_t fNelements  number of elements
          Double_t* fZmixture   [fNelements] array of Z of the elements
          Double_t* fAmixture   [fNelements] array of A of the elements
          Double_t* fWeights    [fNelements] array of relative proportions by mass

## Class Description

     Full description with examples and pictures

/* */

TGeoMixture()

     Default constructor

TGeoMixture(const char *name, Int_t nel, Double_t rho) :TGeoMaterial(name)

     constructor

~TGeoMixture()

     Destructor

void DefineElement(Int_t i, Double_t a, Double_t z, Double_t weight)

     add an element to the mixture

void DefineElement(Int_t i, TGeoElement *elem, Double_t weight)

void DefineElement(Int_t iel, Int_t z, Int_t natoms)

     Define the mixture element at index iel by number of atoms in the chemical formula.

TGeoElement* GetElement(Int_t i) const

Bool_t IsEq(const TGeoMaterial *other) const

     return true if the other material has the same physical properties

void Print(const Option_t * /*option*/) const

     print characteristics of this material

void SavePrimitive(ofstream &out, Option_t * /*option*/)

     Save a primitive as a C++ statement(s) on output stream "out".

### Inline Functions

                   Int_t GetByteCount() const
                   Int_t GetNelements() const
               Double_t* GetZmixt() const
               Double_t* GetAmixt() const
               Double_t* GetWmixt() const
                  Bool_t IsMixture() const
                    void SetA(Double_t a)
                    void SetZ(Double_t z)
                 TClass* Class()
                 TClass* IsA() const
                    void ShowMembers(TMemberInspector& insp, char* parent)
                    void Streamer(TBuffer& b)
                    void StreamerNVirtual(TBuffer& b)
             TGeoMixture TGeoMixture(const TGeoMixture&)
            TGeoMixture& operator=(const TGeoMixture&)

Author: Andrei Gheata 25/10/01
Last update: root/geom:$Name: $:$Id: TGeoMaterial.cxx,v 1.23 2005/06/21 12:16:39 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *