library: libGeom
#include "TGeoMaterial.h"

TGeoMixture


class description - header file - source file
viewCVS header - viewCVS source

class TGeoMixture: public TGeoMaterial

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
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 = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
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() const
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 = "") const
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)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
virtual voidTAttFill::SetFillAttributes()
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
voidTGeoMaterial::SetIndex(Int_t index)
virtual voidTNamed::SetName(const char* name)
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 = "")
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:
Int_tfNelementsnumber of elements
Double_t*fZmixture[fNelements] array of Z of the elements
Double_t*fAmixture[fNelements] array of A of the elements
Double_t*fWeights[fNelements] array of relative proportions by mass
Int_t*fNatoms[fNelements] array of numbers of atoms
TObjArray*fElementsarray of elements composing the mixture
Int_tTGeoMaterial::fIndexmaterial index
Double_tTGeoMaterial::fAA of material
Double_tTGeoMaterial::fZZ of material
Double_tTGeoMaterial::fDensitydensity of material
Double_tTGeoMaterial::fRadLenradiation length
Double_tTGeoMaterial::fIntLeninteraction length
Double_tTGeoMaterial::fTemperaturetemperature
Double_tTGeoMaterial::fPressurepressure
TGeoMaterial::EGeoMaterialStateTGeoMaterial::fStatematerial state
TObject*TGeoMaterial::fShadershader with optical properties
TObject*TGeoMaterial::fCerenkovpointer to class with Cerenkov properties
TGeoElement*TGeoMaterial::fElementpointer to element composing the material
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style

Class Description


/* */
TGeoMixture()
 Default constructor
TGeoMixture(const char *name, Int_t /*nel*/, Double_t rho)
 constructor
TGeoMixture(const TGeoMixture& gm)
copy constructor
TGeoMixture& operator=(const TGeoMixture& gm)
assignment operator
~TGeoMixture()
 Destructor
void AverageProperties()
 Compute effective A/Z and radiation length
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)
 Retreive the pointer to the element corresponding to component I.
Bool_t IsEq(const TGeoMaterial *other)
 Return true if the other material has the same physical properties
void Print(const Option_t * /*option*/)
 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)
 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)
 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, 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()
 getters & setters
{return sizeof(this);}
Bool_t IsMixture()
{return kFALSE;}
void AddElement(Double_t a, Double_t z, Double_t weight)
 methods for adding elements
Int_t GetNelements()
{return fNelements;}
Double_t * GetZmixt()
{return fZmixture;}
Double_t * GetAmixt()
{return fAmixture;}
Double_t * GetWmixt()
{return fWeights;}
Int_t * GetNmixt()
 utilities
{return fNatoms;}
void SetA(Double_t a)
{fA = a;}
void SetZ(Double_t z)
{fZ = z;}

Author: Andrei Gheata 25/10/01
Last update: root/geom:$Name: $:$Id: TGeoMaterial.cxx,v 1.38 2006/11/14 09:19:28 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.