ROOT logo
ROOT » GEOM » GEOM » TGeoMaterial

class TGeoMaterial: public TNamed, public TAttFill



/* */

Function Members (Methods)

public:
TGeoMaterial()
TGeoMaterial(const char* name)
TGeoMaterial(const char* name, TGeoElement* elem, Double_t rho)
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, Double_t a, Double_t z, Double_t rho, TGeoMaterial::EGeoMaterialState state, Double_t temperature = STP_temperature, Double_t pressure = STP_pressure)
virtual~TGeoMaterial()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
static Double_tCoulomb(Double_t z)
virtual TGeoMaterial*DecayMaterial(Double_t time, Double_t precision = 0.001)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual voidFillMaterialEvolution(TObjArray* population, Double_t precision = 0.001)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Double_tGetA() const
TGeoElement*GetBaseElement() const
virtual Int_tGetByteCount() const
virtual TObject*GetCerenkovProperties() const
virtual Int_tGetDefaultColor() const
virtual Double_tGetDensity() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual TGeoElement*GetElement(Int_t i = 0) const
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
virtual const char*TObject::GetIconName() const
Int_tGetIndex()
virtual Double_tGetIntLen() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
char*GetPointerName() const
Double_tGetPressure() const
virtual Double_tGetRadLen() const
TGeoMaterial::EGeoMaterialStateGetState() const
Double_tGetTemperature() const
virtual const char*TNamed::GetTitle() const
Char_tGetTransparency() const
virtual UInt_tTObject::GetUniqueID() const
virtual Double_tGetZ() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tIsEq(const TGeoMaterial* other) const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tIsMixture() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tIsUsed() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTAttFill::Modify()
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidSavePrimitive(ostream& out, Option_t* option = "")
static Double_tScreenFactor(Double_t z)
voidSetA(Double_t a)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidSetCerenkovProperties(TObject* cerenkov)
voidSetDensity(Double_t density)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
voidSetIndex(Int_t index)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPressure(Double_t pressure)
voidSetRadLen(Double_t radlen, Double_t intlen = 0.)
voidSetState(TGeoMaterial::EGeoMaterialState state)
voidSetTemperature(Double_t temperature)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTransparency(Char_t transparency = 0)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUsed(Bool_t flag = kTRUE)
voidSetZ(Double_t z)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
TGeoMaterial(const TGeoMaterial&)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
TGeoMaterial&operator=(const TGeoMaterial&)

Data Members

public:
enum EGeoMaterial { kMatUsed
kMatSavePrimitive
};
enum EGeoMaterialState { kMatStateUndefined
kMatStateSolid
kMatStateLiquid
kMatStateGas
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_tfAA of material
TObject*fCerenkovpointer to class with Cerenkov properties
Double_tfDensitydensity of material
TGeoElement*fElementpointer to element composing the material
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Int_tfIndexmaterial index
Double_tfIntLeninteraction length
TStringTNamed::fNameobject identifier
Double_tfPressurepressure
Double_tfRadLenradiation length
TObject*fShadershader with optical properties
TGeoMaterial::EGeoMaterialStatefStatematerial state
Double_tfTemperaturetemperature
TStringTNamed::fTitleobject title
Double_tfZZ of material

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGeoMaterial()
 Default constructor
TGeoMaterial(const char *name)
 constructor
TGeoMaterial(const char* name, Double_t a, Double_t z, Double_t rho, Double_t radlen = 0, Double_t intlen = 0)
 constructor
TGeoMaterial(const char* name, Double_t a, Double_t z, Double_t rho, TGeoMaterial::EGeoMaterialState state, Double_t temperature = STP_temperature, Double_t pressure = STP_pressure)
 Constructor with state, temperature and pressure.
TGeoMaterial(const char* name, TGeoElement* elem, Double_t rho)
 constructor
TGeoMaterial(const TGeoMaterial& gm)
copy constructor
TGeoMaterial& operator=(const TGeoMaterial& )
assignment operator
~TGeoMaterial()
 Destructor
char * GetPointerName() const
 Provide a pointer name containing uid.
void SetRadLen(Double_t radlen, Double_t intlen = 0.)
 Set radiation/absorbtion lengths. If the values are negative, their absolute value
 is taken, otherwise radlen is recomputed using G3 formula.
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(Option_t* option = "") const
 print characteristics of this material
void SavePrimitive(ostream& out, Option_t* option = "")
 Save a primitive as a C++ statement(s) on output stream "out".
Int_t GetDefaultColor() const
 Get some default color related to this material.
TGeoElement * GetElement(Int_t i = 0) const
 Get a pointer to the element this material is made of.
Int_t GetIndex()
 Retreive material index in the list of materials
TGeoMaterial * DecayMaterial(Double_t time, Double_t precision = 0.001)
 Create the material representing the decay product of this material at a
 given time. The precision represent the minimum cumulative branching ratio for
 which decay products are still taken into account.
void FillMaterialEvolution(TObjArray* population, Double_t precision = 0.001)
 Fills a user array with all the elements deriving from the possible
 decay of the top element composing the mixture. Each element contained
 by <population> may be a radionuclide having a Bateman solution attached.
 The precision represent the minimum cumulative branching ratio for
 which decay products are still taken into account.
 To visualize the time evolution of each decay product one can use:
    TGeoElement *elem = population->At(index);
    TGeoElementRN *elemrn = 0;
    if (elem->IsRadioNuclide()) elemrn = (TGeoElementRN*)elem;
 One can get Ni/N1(t=0) at any moment of time. Ni is the number of atoms
 of one of the decay products, N1(0) is the number of atoms of the top
 element at t=0.
    Double_t fraction_weight = elemrn->Ratio()->Concentration(time);
 One can also display the time evolution of the fractional weigth:
    elemrn->Ratio()->Draw(option);
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
Int_t GetByteCount() const
 getters & setters
{return sizeof(this);}
Double_t GetA() const
{return fA;}
Double_t GetZ() const
{return fZ;}
Double_t GetDensity() const
{return fDensity;}
TGeoElement * GetBaseElement() const
{return fElement;}
Double_t GetRadLen() const
{return fRadLen;}
Double_t GetIntLen() const
{return fIntLen;}
TObject * GetCerenkovProperties() const
{return fCerenkov;}
Char_t GetTransparency() const
{return (fFillStyle<3000 || fFillStyle>3100)?0:Char_t(fFillStyle-3000);}
Double_t GetTemperature() const
{return fTemperature;}
Double_t GetPressure() const
{return fPressure;}
EGeoMaterialState GetState() const
{return fState;}
Bool_t IsUsed() const
Bool_t IsMixture() const
{return kFALSE;}
void SetA(Double_t a)
{fA = a; SetRadLen(0);}
void SetZ(Double_t z)
{fZ = z; SetRadLen(0);}
void SetDensity(Double_t density)
{fDensity = density; SetRadLen(0);}
void SetIndex(Int_t index)
{fIndex=index;}
void SetCerenkovProperties(TObject* cerenkov)
{fCerenkov = cerenkov;}
void SetUsed(Bool_t flag = kTRUE)
void SetTransparency(Char_t transparency = 0)
{fFillStyle = 3000+transparency;}
void SetTemperature(Double_t temperature)
{fTemperature = temperature;}
void SetPressure(Double_t pressure)
{fPressure = pressure;}
void SetState(TGeoMaterial::EGeoMaterialState state)
{fState = state;}