ROOT » GEOM » GEOM » TGeoMaterial

class TGeoMaterial: public TNamed, public TAttFill



/* */

Function Members (Methods)

public:
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 voidGetElementProp(Double_t& a, Double_t& z, Double_t& w, Int_t i = 0)
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
TGeoExtension*GetFWExtension() const
virtual const char*TObject::GetIconName() const
Int_tGetIndex()
virtual Double_tGetIntLen() const
virtual const char*TNamed::GetName() const
virtual Int_tGetNelements() 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
virtual Double_tGetSpecificActivity(Int_t) const
TGeoMaterial::EGeoMaterialStateGetState() const
Double_tGetTemperature() const
virtual const char*TNamed::GetTitle() const
Char_tGetTransparency() const
virtual UInt_tTObject::GetUniqueID() const
TGeoExtension*GetUserExtension() const
virtual Double_tGetZ() const
TGeoExtension*GrabFWExtension() const
TGeoExtension*GrabUserExtension() 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()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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(const 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::SetFillColorAlpha(Color_t fcolor, Float_t falpha)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
voidSetFWExtension(TGeoExtension* ext)
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)
voidSetUserExtension(TGeoExtension* ext)
voidSetZ(Double_t z)
virtual voidShowMembers(TMemberInspector& insp) const
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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
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 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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
TGeoMaterial&operator=(const TGeoMaterial&)
TGeoMaterial(const TGeoMaterial&)

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TGeoMaterial::EGeoMaterialkMatSavePrimitive
static TGeoMaterial::EGeoMaterialStatekMatStateGas
static TGeoMaterial::EGeoMaterialStatekMatStateLiquid
static TGeoMaterial::EGeoMaterialStatekMatStateSolid
static TGeoMaterial::EGeoMaterialStatekMatStateUndefined
static TGeoMaterial::EGeoMaterialkMatUsed
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
Double_tfAA of material
TObject*fCerenkovpointer to class with Cerenkov properties
Double_tfDensitydensity of material
TGeoElement*fElementpointer to element composing the material
TGeoExtension*fFWExtension! Transient framework-defined extension to materials
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
TGeoExtension*fUserExtension! Transient user-defined extension to materials
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& )
copy constructor
TGeoMaterial& operator=(const TGeoMaterial& )
assignment operator
~TGeoMaterial()
 Destructor
void SetUserExtension(TGeoExtension* ext)
 Connect user-defined extension to the material. The material "grabs" a copy, so
 the original object can be released by the producer. Release the previously
 connected extension if any.

 NOTE: This interface is intended for user extensions and is guaranteed not
 to be used by TGeo

void SetFWExtension(TGeoExtension* ext)
 Connect framework defined extension to the material. The material "grabs" a copy,
 so the original object can be released by the producer. Release the previously
 connected extension if any.

 NOTE: This interface is intended for the use by TGeo and the users should
       NOT connect extensions using this method

TGeoExtension * GrabUserExtension() const
 Get a copy of the user extension pointer. The user must call Release() on
 the copy pointer once this pointer is not needed anymore (equivalent to
 delete() after calling new())
TGeoExtension * GrabFWExtension() const
 Get a copy of the framework extension pointer. The user must call Release() on
 the copy pointer once this pointer is not needed anymore (equivalent to
 delete() after calling new())
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(const 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.
void GetElementProp(Double_t& a, Double_t& z, Double_t& w, Int_t i = 0)
 Single interface to get element properties.
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;}
Int_t GetNelements() const
{return 1;}
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;}
Double_t GetSpecificActivity(Int_t ) const
{return 0.;}
TGeoExtension * GetUserExtension() const
{return fUserExtension;}
TGeoExtension * GetFWExtension() const
{return fFWExtension;}
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;}