library: libGeom #include "TGeoMaterial.h"

# TGeoMaterial

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

## class TGeoMaterial : public TNamed, public TAttFill

| Inheritance Chart:

`TObject`

<-

`TNamed`

`TAttFill`

<-

`TGeoMaterial`

<-

`TGeoMixture` |

        public:

                               TGeoMaterial()
                               TGeoMaterial(const char* name)
                               TGeoMaterial(const char* name, Double_t a, Double_t z, Double_t rho, Double_t radlen = 0, Double_t intlen = 0)
                               TGeoMaterial(const char* name, TGeoElement* elem, Double_t rho)
                               TGeoMaterial(const TGeoMaterial&)
                       virtual ~TGeoMaterial()
                static TClass* Class()
               static Double_t Coulomb(Double_t z)
              virtual Double_t GetA() const
                 virtual Int_t GetByteCount() const
              virtual TObject* GetCerenkovProperties() const
                 virtual Int_t GetDefaultColor() const
              virtual Double_t GetDensity() const
          virtual TGeoElement* GetElement(Int_t i = 0) const
                         Int_t GetIndex()
              virtual Double_t GetIntLen() const
              virtual Double_t GetRadLen() const
              virtual Double_t GetZ() const
               virtual TClass* IsA() const
                virtual Bool_t IsEq(const TGeoMaterial* other) const
                virtual Bool_t IsMixture() const
                        Bool_t IsUsed() const
                 TGeoMaterial& operator=(const TGeoMaterial&)
                  virtual void Print(Option_t* option) const
               static Double_t ScreenFactor(Double_t z)
                  virtual void SetCerenkovProperties(TObject* cerenkov)
                          void SetIndex(Int_t index)
                          void SetRadLen(Double_t radlen, Double_t intlen = 0.)
                          void SetUsed(Bool_t flag = kTRUE)
                  virtual void ShowMembers(TMemberInspector& insp, char* parent)
                  virtual void Streamer(TBuffer& b)
                          void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

             Int_t fIndex     material index
          Double_t fA         A of material
          Double_t fZ         Z of material
          Double_t fDensity   density of material
          Double_t fRadLen    radiation length
          Double_t fIntLen    interaction length
          TObject* fShader    shader with optical properties
          TObject* fCerenkov  pointer to class with Cerenkov properties

        public:

          static const TGeoMaterial::EGeoMaterial kMatUsed

## Class Description

     Full description with examples and pictures

/* */

TGeoMaterial()

     Default constructor

TGeoMaterial(const char *name) :TNamed(name, "")

     constructor

TGeoMaterial(const char *name, Double_t a, Double_t z, Double_t rho, Double_t radlen, Double_t intlen) :TNamed(name, "")

     constructor

TGeoMaterial(const char *name, TGeoElement *elem, Double_t rho) :TNamed(name, "")

     constructor

~TGeoMaterial()

     Destructor

void SetRadLen(Double_t radlen, Double_t intlen)

     Set radiation/absorbtion lengths

Double_t Coulomb(Double_t z)

     static function
      Compute Coulomb correction for pair production and Brem
      REFERENCE : EGS MANUAL SLAC 210 - UC32 - JUNE 78
                            FORMULA 2.7.17

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

Int_t GetDefaultColor() const

TGeoElement* GetElement(Int_t) const

Int_t GetIndex()

     Retreive material index in the list of materials

Double_t ScreenFactor(Double_t z)

     static function
      Compute screening factor for pair production and Bremstrahlung
      REFERENCE : EGS MANUAL SLAC 210 - UC32 - JUNE 78
                            FORMULA 2.7.22

### Inline Functions

                    Int_t GetByteCount() const
                 Double_t GetA() const
                 Double_t GetZ() const
                 Double_t GetDensity() const
                 Double_t GetRadLen() const
                 Double_t GetIntLen() const
                 TObject* GetCerenkovProperties() const
                   Bool_t IsUsed() const
                   Bool_t IsMixture() const
                     void SetIndex(Int_t index)
                     void SetCerenkovProperties(TObject* cerenkov)
                     void SetUsed(Bool_t flag = kTRUE)
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)
             TGeoMaterial TGeoMaterial(const TGeoMaterial&)
            TGeoMaterial& operator=(const TGeoMaterial&)

Author: Andrei Gheata 25/10/01
Last update: root/geom:$Name: $:$Id: TGeoMaterial.cxx,v 1.12 2004/06/28 08:46:47 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *