ROOT logo
ROOT » GEOM » GEOM » TGeoMixture

class TGeoMixture: public TGeoMaterial



/* */

Function Members (Methods)

public:
TGeoMixture()
TGeoMixture(const char* name, Int_t nel, Double_t rho = -1)
virtual~TGeoMixture()
voidTObject::AbstractMethod(const char* method) const
voidAddElement(TGeoMaterial* mat, Double_t weight)
voidAddElement(TGeoElement* elem, Double_t weight)
voidAddElement(TGeoElement* elem, Int_t natoms)
voidAddElement(Double_t a, Double_t z, Double_t weight)
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_tTGeoMaterial::Coulomb(Double_t z)
virtual TGeoMaterial*DecayMaterial(Double_t time, Double_t precision = 0.001)
voidDefineElement(Int_t iel, TGeoElement* elem, Double_t weight)
voidDefineElement(Int_t iel, Int_t z, Int_t natoms)
voidDefineElement(Int_t iel, Double_t a, Double_t z, Double_t weight)
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_tTGeoMaterial::GetA() const
Double_t*GetAmixt() const
TGeoElement*TGeoMaterial::GetBaseElement() const
virtual Int_tGetByteCount() const
virtual TObject*TGeoMaterial::GetCerenkovProperties() const
virtual Int_tTGeoMaterial::GetDefaultColor() const
virtual Double_tTGeoMaterial::GetDensity() 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_tTGeoMaterial::GetIndex()
virtual Double_tTGeoMaterial::GetIntLen() const
virtual const char*TNamed::GetName() const
Int_tGetNelements() const
Int_t*GetNmixt() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
char*TGeoMaterial::GetPointerName() const
Double_tTGeoMaterial::GetPressure() const
virtual Double_tTGeoMaterial::GetRadLen() const
TGeoMaterial::EGeoMaterialStateTGeoMaterial::GetState() const
Double_tTGeoMaterial::GetTemperature() const
virtual const char*TNamed::GetTitle() const
Char_tTGeoMaterial::GetTransparency() const
virtual UInt_tTObject::GetUniqueID() const
Double_t*GetWmixt() const
virtual Double_tTGeoMaterial::GetZ() const
Double_t*GetZmixt() 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_tTGeoMaterial::IsUsed() 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_tTGeoMaterial::ScreenFactor(Double_t z)
voidSetA(Double_t a)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTGeoMaterial::SetCerenkovProperties(TObject* cerenkov)
voidTGeoMaterial::SetDensity(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)
voidTGeoMaterial::SetIndex(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)
voidTGeoMaterial::SetPressure(Double_t pressure)
voidTGeoMaterial::SetRadLen(Double_t radlen, Double_t intlen = 0.)
voidTGeoMaterial::SetState(TGeoMaterial::EGeoMaterialState state)
voidTGeoMaterial::SetTemperature(Double_t temperature)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidTGeoMaterial::SetTransparency(Char_t transparency = 0)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTGeoMaterial::SetUsed(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:
TGeoMixture(const TGeoMixture&)
voidAverageProperties()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
TGeoMixture&operator=(const TGeoMixture&)

Data Members

public:
enum TGeoMaterial::EGeoMaterial { kMatUsed
kMatSavePrimitive
};
enum TGeoMaterial::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_tTGeoMaterial::fAA of material
Double_t*fAmixture[fNelements] array of A of the elements
TObject*TGeoMaterial::fCerenkovpointer to class with Cerenkov properties
Double_tTGeoMaterial::fDensitydensity of material
TGeoElement*TGeoMaterial::fElementpointer to element composing the material
TObjArray*fElementsarray of elements composing the mixture
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Int_tTGeoMaterial::fIndexmaterial index
Double_tTGeoMaterial::fIntLeninteraction length
TStringTNamed::fNameobject identifier
Int_t*fNatoms[fNelements] array of numbers of atoms
Int_tfNelementsnumber of elements
Double_tTGeoMaterial::fPressurepressure
Double_tTGeoMaterial::fRadLenradiation length
TObject*TGeoMaterial::fShadershader with optical properties
TGeoMaterial::EGeoMaterialStateTGeoMaterial::fStatematerial state
Double_tTGeoMaterial::fTemperaturetemperature
TStringTNamed::fTitleobject title
Double_t*fWeights[fNelements] array of relative proportions by mass
Double_tTGeoMaterial::fZZ of material
Double_t*fZmixture[fNelements] array of Z of the elements

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGeoMixture()
 Default constructor
TGeoMixture(const char* name, Int_t nel, Double_t rho = -1)
 constructor
TGeoMixture(const TGeoMixture& )
copy constructor
TGeoMixture& operator=(const TGeoMixture& )
assignment operator
~TGeoMixture()
 Destructor
void AverageProperties()
 Compute effective A/Z and radiation length
void AddElement(Double_t a, Double_t z, Double_t weight)
 add an element to the mixture using fraction by weight
 Check if the element is already defined
void AddElement(TGeoMaterial *mat, Double_t weight)
 Define one component of the mixture as an existing material/mixture.
void AddElement(TGeoElement *elem, Double_t weight)
 add an element to the mixture using fraction by weight
void AddElement(TGeoElement *elem, Int_t natoms)
 Add a mixture element by number of atoms in the chemical formula.
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 = 0) const
 Retreive the pointer to the element corresponding to component I.
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".
TGeoMaterial * DecayMaterial(Double_t time, Double_t precision = 0.001)
 Create the mixture 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 elements 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 first 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);
void DefineElement(Int_t iel, Double_t a, Double_t z, Double_t weight)
{return AddElement(a,z,weight);}
void DefineElement(Int_t, TGeoElement *elem, Double_t weight)
{return AddElement(elem,weight);}
Int_t GetByteCount() const
 getters & setters
{return sizeof(this);}
Bool_t IsMixture() const
{return kFALSE;}
void SetA(Double_t a)
{fA = a; SetRadLen(0);}
void SetZ(Double_t z)
{fZ = z; SetRadLen(0);}
Int_t GetNelements() const
{return fNelements;}
Double_t * GetZmixt() const
{return fZmixture;}
Double_t * GetAmixt() const
{return fAmixture;}
Double_t * GetWmixt() const
{return fWeights;}
Int_t * GetNmixt() const
 utilities
{return fNatoms;}