library: libGeom #include "TGeoMaterial.h"

# TGeoMaterial

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

## 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
                         char* GetPointerName() const
              virtual Double_t GetRadLen() const
                        Char_t GetTransparency() 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
                  virtual void SavePrimitive(ofstream& out, Option_t* option)
               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 SetTransparency(Char_t transparency = 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
          static const TGeoMaterial::EGeoMaterial kMatSavePrimitive

## 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

char* GetPointerName() const

     Provide a pointer name containing uid.

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

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

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

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
                   Char_t GetTransparency() const
                   Bool_t IsUsed() const
                   Bool_t IsMixture() const
                     void SetIndex(Int_t index)
                     void SetCerenkovProperties(TObject* cerenkov)
                     void SetUsed(Bool_t flag = kTRUE)
                     void SetTransparency(Char_t transparency = 0)
                  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.23 2005/06/21 12:16:39 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *