Logo ROOT  
Reference Guide
TGeoMaterial.h
Go to the documentation of this file.
1 // @(#)root/geom:$Id$
2 // Author: Andrei Gheata 25/10/01
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TGeoMaterial
13 #define ROOT_TGeoMaterial
14 
15 #include <TNamed.h>
16 #include <TAttFill.h>
17 #include <TList.h>
18 
19 #ifdef R__LESS_INCLUDES
20 class TGeoElement;
21 class TGeoElementTable;
22 #else
23 #include "TGeoElement.h"
24 #endif
25 
26 // forward declarations
27 class TGeoExtension;
28 class TGDMLMatrix;
29 
30 // Some units used in G4
31 static const Double_t STP_temperature = 273.15; // [K]
32 static const Double_t STP_pressure = 6.32420e+8; // [MeV/mm3]
33 
34 class TGeoMaterial : public TNamed,
35  public TAttFill
36 {
37 public:
38  enum EGeoMaterial {
39  kMatUsed = BIT(17),
41  };
47  };
48 
49 protected:
50  Int_t fIndex; // material index
51  Double_t fA; // A of material
52  Double_t fZ; // Z of material
53  Double_t fDensity; // density of material
54  Double_t fRadLen; // radiation length
55  Double_t fIntLen; // interaction length
56  Double_t fTemperature; // temperature
57  Double_t fPressure; // pressure
58  EGeoMaterialState fState; // material state
59  TObject *fShader; // shader with optical properties
60  TObject *fCerenkov; // pointer to class with Cerenkov properties
61  TGeoElement *fElement; // pointer to element composing the material
62  TList fProperties; // user-defined properties
63  TList fConstProperties; // user-defined constant properties
64  TGeoExtension *fUserExtension; //! Transient user-defined extension to materials
65  TGeoExtension *fFWExtension; //! Transient framework-defined extension to materials
66 
67 // methods
68  TGeoMaterial(const TGeoMaterial&);
70 
71 
72 public:
73  // constructors
74  TGeoMaterial();
75  TGeoMaterial(const char *name);
76  TGeoMaterial(const char *name, Double_t a, Double_t z,
77  Double_t rho, Double_t radlen=0, Double_t intlen=0);
78  TGeoMaterial(const char *name, Double_t a, Double_t z, Double_t rho,
79  EGeoMaterialState state, Double_t temperature=STP_temperature, Double_t pressure=STP_pressure);
80  TGeoMaterial(const char *name, TGeoElement *elem, Double_t rho);
81 
82  // destructor
83  virtual ~TGeoMaterial();
84  // methods
85  static Double_t Coulomb(Double_t z);
86  // radioactive mixture evolution
87  virtual TGeoMaterial *DecayMaterial(Double_t time, Double_t precision=0.001);
88  virtual void FillMaterialEvolution(TObjArray *population, Double_t precision=0.001);
89  // getters & setters
90  bool AddProperty(const char *property, const char *ref);
91  bool AddConstProperty(const char *property, const char *ref);
92  Int_t GetNproperties() const { return fProperties.GetSize(); }
94  const char *GetPropertyRef(const char *property) const;
95  const char *GetPropertyRef(Int_t i) const { return (fProperties.At(i) ? fProperties.At(i)->GetTitle() : nullptr); }
96  Double_t GetConstProperty(const char *property, Bool_t *error = nullptr) const;
97  Double_t GetConstProperty(Int_t i, Bool_t *error = nullptr) const;
98  const char *GetConstPropertyRef(const char *property) const;
99  const char *GetConstPropertyRef(Int_t i) const { return (fConstProperties.At(i) ? fConstProperties.At(i)->GetTitle() : nullptr); }
100  TList const &GetProperties() const { return fProperties; }
101  TList const &GetConstProperties() const { return fConstProperties; }
102  TGDMLMatrix* GetProperty(const char* name) const;
103  TGDMLMatrix* GetProperty(Int_t i) const;
104  virtual Int_t GetByteCount() const {return sizeof(*this);}
105  virtual Double_t GetA() const {return fA;}
106  virtual Double_t GetZ() const {return fZ;}
107  virtual Int_t GetDefaultColor() const;
108  virtual Double_t GetDensity() const {return fDensity;}
109  virtual Int_t GetNelements() const {return 1;}
110  virtual TGeoElement *GetElement(Int_t i=0) const;
111  virtual void GetElementProp(Double_t &a, Double_t &z, Double_t &w, Int_t i=0);
113  char *GetPointerName() const;
114  virtual Double_t GetRadLen() const {return fRadLen;}
115  virtual Double_t GetIntLen() const {return fIntLen;}
116  Int_t GetIndex();
117  virtual TObject *GetCerenkovProperties() const {return fCerenkov;}
118  Char_t GetTransparency() const {return (fFillStyle<3000 || fFillStyle>3100)?0:Char_t(fFillStyle-3000);}
120  Double_t GetPressure() const {return fPressure;}
122  virtual Double_t GetSpecificActivity(Int_t) const {return 0.;}
127  virtual Bool_t IsEq(const TGeoMaterial *other) const;
129  virtual Bool_t IsMixture() const {return kFALSE;}
130  virtual void Print(const Option_t *option="") const;
131  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
132  virtual void SetA(Double_t a) {fA = a; SetRadLen(0);}
133  virtual void SetZ(Double_t z) {fZ = z; SetRadLen(0);}
134  virtual void SetDensity(Double_t density) {fDensity = density; SetRadLen(0);}
135  void SetIndex(Int_t index) {fIndex=index;}
136  virtual void SetCerenkovProperties(TObject* cerenkov) {fCerenkov = cerenkov;}
137  void SetRadLen(Double_t radlen, Double_t intlen=0.);
139  void SetTransparency(Char_t transparency=0) {fFillStyle = 3000+transparency;}
140  void SetTemperature(Double_t temperature) {fTemperature = temperature;}
141  void SetPressure(Double_t pressure) {fPressure = pressure;}
142  void SetState(EGeoMaterialState state) {fState = state;}
143  void SetUserExtension(TGeoExtension *ext);
144  void SetFWExtension(TGeoExtension *ext);
145  static Double_t ScreenFactor(Double_t z);
146 
147 
148 
149  ClassDef(TGeoMaterial, 7) // base material class
150 
151 //***** Need to add classes and globals to LinkDef.h *****
152 };
153 
154 
155 class TGeoMixture : public TGeoMaterial
156 {
157 protected :
158 // data members
159  Int_t fNelements; // number of elements
160  Double_t *fZmixture; // [fNelements] array of Z of the elements
161  Double_t *fAmixture; // [fNelements] array of A of the elements
162  Double_t *fWeights; // [fNelements] array of relative proportions by mass
163  Int_t *fNatoms; // [fNelements] array of numbers of atoms
164  Double_t *fVecNbOfAtomsPerVolume; //[fNelements] array of numbers of atoms per unit volume
165  TObjArray *fElements; // array of elements composing the mixture
166 // methods
167  TGeoMixture(const TGeoMixture&) = delete;
168  TGeoMixture& operator=(const TGeoMixture&) = delete;
169  void AverageProperties();
170 
171 public:
172  // constructors
173  TGeoMixture();
174  TGeoMixture(const char *name, Int_t nel, Double_t rho=-1);
175  // destructor
176  virtual ~TGeoMixture();
177  // methods for adding elements
178  void AddElement(Double_t a, Double_t z, Double_t weight);
179  void AddElement(TGeoMaterial *mat, Double_t weight);
180  void AddElement(TGeoElement *elem, Double_t weight);
181  void AddElement(TGeoElement *elem, Int_t natoms);
182  // backward compatibility for defining elements
183  void DefineElement(Int_t iel, Double_t a, Double_t z, Double_t weight);
184  void DefineElement(Int_t iel, TGeoElement *elem, Double_t weight);
185  void DefineElement(Int_t iel, Int_t z, Int_t natoms);
186  // radioactive mixture evolution
187  virtual TGeoMaterial *DecayMaterial(Double_t time, Double_t precision=0.001);
188  virtual void FillMaterialEvolution(TObjArray *population, Double_t precision=0.001);
189  // getters
190  virtual Int_t GetByteCount() const {return 48+12*fNelements;}
191  virtual TGeoElement *GetElement(Int_t i=0) const;
192  virtual void GetElementProp(Double_t &a, Double_t &z, Double_t &w, Int_t i=0) {a=fAmixture[i]; z=fZmixture[i]; w=fWeights[i];}
193  virtual Int_t GetNelements() const {return fNelements;}
194  Double_t *GetZmixt() const {return fZmixture;}
195  Double_t *GetAmixt() const {return fAmixture;}
196  Double_t *GetWmixt() const {return fWeights;}
197  Int_t *GetNmixt() const {return fNatoms;}
198  virtual Double_t GetSpecificActivity(Int_t i=-1) const;
199  // utilities
200  virtual Bool_t IsEq(const TGeoMaterial *other) const;
201  virtual Bool_t IsMixture() const {return kTRUE;}
202  virtual void Print(const Option_t *option="") const;
203  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
204  virtual void SetA(Double_t a) {fA = a;}
205  virtual void SetZ(Double_t z) {fZ = z;}
206  virtual void SetDensity(Double_t density) {fDensity = density; AverageProperties();}
208  void ComputeRadiationLength();
210 
211  ClassDef(TGeoMixture, 3) // material mixtures
212 };
213 
215  {return AddElement(a,z,weight);}
217  {return AddElement(elem,weight);}
218 
219 
220 #endif
221 
TGeoMaterial::GetNelements
virtual Int_t GetNelements() const
Definition: TGeoMaterial.h:109
TGeoMaterial::GetConstProperty
Double_t GetConstProperty(const char *property, Bool_t *error=nullptr) const
Definition: TGeoMaterial.cxx:330
STP_temperature
static const Double_t STP_temperature
Definition: TGeoMaterial.h:31
TGeoMaterial::fElement
TGeoElement * fElement
Definition: TGeoMaterial.h:61
TGeoMixture::IsMixture
virtual Bool_t IsMixture() const
Definition: TGeoMaterial.h:201
TGeoMaterial::GetUserExtension
TGeoExtension * GetUserExtension() const
Definition: TGeoMaterial.h:123
TGeoMixture::DecayMaterial
virtual TGeoMaterial * DecayMaterial(Double_t time, Double_t precision=0.001)
Create the mixture representing the decay product of this material at a given time.
Definition: TGeoMaterial.cxx:1079
TGeoMaterial::GetDensity
virtual Double_t GetDensity() const
Definition: TGeoMaterial.h:108
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
TGeoMaterial::EGeoMaterialState
EGeoMaterialState
Definition: TGeoMaterial.h:42
TObject::TestBit
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Definition: TObject.h:172
TObjArray
An array of TObjects.
Definition: TObjArray.h:37
TGeoMaterial::GetPressure
Double_t GetPressure() const
Definition: TGeoMaterial.h:120
TGeoMaterial::SetPressure
void SetPressure(Double_t pressure)
Definition: TGeoMaterial.h:141
Option_t
const char Option_t
Definition: RtypesCore.h:66
TGeoMixture::AverageProperties
void AverageProperties()
Compute effective A/Z and radiation length.
Definition: TGeoMaterial.cxx:744
TGeoMaterial::GetElement
virtual TGeoElement * GetElement(Int_t i=0) const
Get a pointer to the element this material is made of.
Definition: TGeoMaterial.cxx:565
TGeoMaterial::kMatStateGas
@ kMatStateGas
Definition: TGeoMaterial.h:46
TGeoMixture::DefineElement
void DefineElement(Int_t iel, Double_t a, Double_t z, Double_t weight)
Definition: TGeoMaterial.h:214
TGeoMaterial::SetFWExtension
void SetFWExtension(TGeoExtension *ext)
Connect framework defined extension to the material.
Definition: TGeoMaterial.cxx:387
TGeoMixture::SetA
virtual void SetA(Double_t a)
Definition: TGeoMaterial.h:204
TGeoMixture::operator=
TGeoMixture & operator=(const TGeoMixture &)=delete
TGeoMaterial::fFWExtension
TGeoExtension * fFWExtension
Transient user-defined extension to materials.
Definition: TGeoMaterial.h:65
TGeoMaterial::GetProperties
TList const & GetProperties() const
Definition: TGeoMaterial.h:100
TGeoMixture::IsEq
virtual Bool_t IsEq(const TGeoMaterial *other) const
Return true if the other material has the same physical properties.
Definition: TGeoMaterial.cxx:1018
TNamed.h
TGeoMixture::ComputeNuclearInterLength
void ComputeNuclearInterLength()
Compute Nuclear Interaction Length based on Geant4 formula.
Definition: TGeoMaterial.cxx:1227
TGeoMaterial::IsMixture
virtual Bool_t IsMixture() const
Definition: TGeoMaterial.h:129
TGeoMaterial::kMatStateSolid
@ kMatStateSolid
Definition: TGeoMaterial.h:44
TGeoMixture::ComputeRadiationLength
void ComputeRadiationLength()
Compute Radiation Length based on Geant4 formula.
Definition: TGeoMaterial.cxx:1214
TGeoMixture::Print
virtual void Print(const Option_t *option="") const
print characteristics of this material
Definition: TGeoMaterial.cxx:1042
TGeoMaterial::GetBaseElement
TGeoElement * GetBaseElement() const
Definition: TGeoMaterial.h:112
TGeoMixture::fVecNbOfAtomsPerVolume
Double_t * fVecNbOfAtomsPerVolume
Definition: TGeoMaterial.h:164
TGeoMaterial::IsUsed
Bool_t IsUsed() const
Definition: TGeoMaterial.h:128
TGeoMaterial::kMatStateLiquid
@ kMatStateLiquid
Definition: TGeoMaterial.h:45
TGeoMaterial::SetState
void SetState(EGeoMaterialState state)
Definition: TGeoMaterial.h:142
Int_t
int Int_t
Definition: RtypesCore.h:45
TGeoMixture::GetByteCount
virtual Int_t GetByteCount() const
Definition: TGeoMaterial.h:190
TGeoMaterial::GetConstPropertyRef
const char * GetConstPropertyRef(Int_t i) const
Definition: TGeoMaterial.h:99
TGeoMaterial::GetSpecificActivity
virtual Double_t GetSpecificActivity(Int_t) const
Definition: TGeoMaterial.h:122
TGeoMixture::FillMaterialEvolution
virtual 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 composi...
Definition: TGeoMaterial.cxx:1152
TGeoMaterial::SetRadLen
void SetRadLen(Double_t radlen, Double_t intlen=0.)
Set radiation/absorption lengths.
Definition: TGeoMaterial.cxx:430
TList.h
TGeoMaterial::SavePrimitive
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a primitive as a C++ statement(s) on output stream "out".
Definition: TGeoMaterial.cxx:537
TGeoMaterial::SetA
virtual void SetA(Double_t a)
Definition: TGeoMaterial.h:132
TGeoMaterial::fPressure
Double_t fPressure
Definition: TGeoMaterial.h:57
TGeoMixture::GetNmixt
Int_t * GetNmixt() const
Definition: TGeoMaterial.h:197
TGeoMaterial::GetNconstProperties
Int_t GetNconstProperties() const
Definition: TGeoMaterial.h:93
TObject::GetTitle
virtual const char * GetTitle() const
Returns title of object.
Definition: TObject.cxx:403
TGeoMaterial::SetUsed
void SetUsed(Bool_t flag=kTRUE)
Definition: TGeoMaterial.h:138
TGeoMaterial::SetCerenkovProperties
virtual void SetCerenkovProperties(TObject *cerenkov)
Definition: TGeoMaterial.h:136
TGeoMixture::AddElement
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
Definition: TGeoMaterial.cxx:783
TGeoMixture::GetElement
virtual TGeoElement * GetElement(Int_t i=0) const
Retrieve the pointer to the element corresponding to component I.
Definition: TGeoMaterial.cxx:988
TGeoMixture::GetWmixt
Double_t * GetWmixt() const
Definition: TGeoMaterial.h:196
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
TGeoMixture
Mixtures of elements.
Definition: TGeoMaterial.h:156
TGeoMaterial::GetIntLen
virtual Double_t GetIntLen() const
Definition: TGeoMaterial.h:115
TGeoMaterial::SetIndex
void SetIndex(Int_t index)
Definition: TGeoMaterial.h:135
TGeoMaterial
Base class describing materials.
Definition: TGeoMaterial.h:36
bool
TGeoMaterial::GrabUserExtension
TGeoExtension * GrabUserExtension() const
Get a copy of the user extension pointer.
Definition: TGeoMaterial.cxx:399
TGeoMixture::GetElementProp
virtual void GetElementProp(Double_t &a, Double_t &z, Double_t &w, Int_t i=0)
Single interface to get element properties.
Definition: TGeoMaterial.h:192
TGeoMaterial::TGeoMaterial
TGeoMaterial()
Default constructor.
Definition: TGeoMaterial.cxx:38
TGeoMaterial::GetRadLen
virtual Double_t GetRadLen() const
Definition: TGeoMaterial.h:114
TGeoMaterial::fUserExtension
TGeoExtension * fUserExtension
Definition: TGeoMaterial.h:64
TGeoMaterial::IsEq
virtual Bool_t IsEq(const TGeoMaterial *other) const
return true if the other material has the same physical properties
Definition: TGeoMaterial.cxx:512
TGeoMaterial::SetTransparency
void SetTransparency(Char_t transparency=0)
Definition: TGeoMaterial.h:139
TGeoMaterial::DecayMaterial
virtual TGeoMaterial * DecayMaterial(Double_t time, Double_t precision=0.001)
Create the material representing the decay product of this material at a given time.
Definition: TGeoMaterial.cxx:597
TGeoMaterial::SetDensity
virtual void SetDensity(Double_t density)
Definition: TGeoMaterial.h:134
TGeoMaterial::kMatSavePrimitive
@ kMatSavePrimitive
Definition: TGeoMaterial.h:40
TGeoMaterial::fIntLen
Double_t fIntLen
Definition: TGeoMaterial.h:55
TGeoMaterial::EGeoMaterial
EGeoMaterial
Definition: TGeoMaterial.h:38
TList::At
virtual TObject * At(Int_t idx) const
Returns the object at position idx. Returns 0 if idx is out of range.
Definition: TList.cxx:357
TGeoMaterial::fTemperature
Double_t fTemperature
Definition: TGeoMaterial.h:56
TGeoMaterial::GrabFWExtension
TGeoExtension * GrabFWExtension() const
Get a copy of the framework extension pointer.
Definition: TGeoMaterial.cxx:410
TGeoMaterial::GetProperty
TGDMLMatrix * GetProperty(const char *name) const
Definition: TGeoMaterial.cxx:304
TGeoMaterial::GetCerenkovProperties
virtual TObject * GetCerenkovProperties() const
Definition: TGeoMaterial.h:117
TGeoMaterial::fConstProperties
TList fConstProperties
Definition: TGeoMaterial.h:63
TAttFill.h
TGeoMaterial::GetTemperature
Double_t GetTemperature() const
Definition: TGeoMaterial.h:119
TGeoMaterial::fIndex
Int_t fIndex
Definition: TGeoMaterial.h:50
TGeoMaterial::GetPointerName
char * GetPointerName() const
Provide a pointer name containing uid.
Definition: TGeoMaterial.cxx:419
TGeoMaterial::GetTransparency
Char_t GetTransparency() const
Definition: TGeoMaterial.h:118
TGeoMaterial::fProperties
TList fProperties
Definition: TGeoMaterial.h:62
TGeoElement
Base class for chemical elements.
Definition: TGeoElement.h:37
TObject::SetBit
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Definition: TObject.cxx:696
TGeoElement.h
TGeoMaterial::GetZ
virtual Double_t GetZ() const
Definition: TGeoMaterial.h:106
a
auto * a
Definition: textangle.C:12
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
TGeoMixture::ComputeDerivedQuantities
void ComputeDerivedQuantities()
Compute Derived Quantities as in Geant4.
Definition: TGeoMaterial.cxx:1193
TGeoMaterial::Print
virtual void Print(const Option_t *option="") const
print characteristics of this material
Definition: TGeoMaterial.cxx:528
TGeoMixture::SavePrimitive
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a primitive as a C++ statement(s) on output stream "out".
Definition: TGeoMaterial.cxx:1057
TGeoElementTable
Table of elements.
Definition: TGeoElement.h:370
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
TGeoMaterial::GetConstPropertyRef
const char * GetConstPropertyRef(const char *property) const
Definition: TGeoMaterial.cxx:322
TGeoMaterial::fZ
Double_t fZ
Definition: TGeoMaterial.h:52
TGeoMaterial::AddConstProperty
bool AddConstProperty(const char *property, const char *ref)
Definition: TGeoMaterial.cxx:367
BIT
#define BIT(n)
Definition: Rtypes.h:85
TGeoMixture::fZmixture
Double_t * fZmixture
Definition: TGeoMaterial.h:160
TGeoMaterial::GetPropertyRef
const char * GetPropertyRef(Int_t i) const
Definition: TGeoMaterial.h:95
TGeoMaterial::GetElementProp
virtual void GetElementProp(Double_t &a, Double_t &z, Double_t &w, Int_t i=0)
Single interface to get element properties.
Definition: TGeoMaterial.cxx:574
TGeoMaterial::SetZ
virtual void SetZ(Double_t z)
Definition: TGeoMaterial.h:133
TGeoMaterial::GetState
EGeoMaterialState GetState() const
Definition: TGeoMaterial.h:121
TGeoMaterial::GetDefaultColor
virtual Int_t GetDefaultColor() const
Get some default color related to this material.
Definition: TGeoMaterial.cxx:556
TGeoMaterial::~TGeoMaterial
virtual ~TGeoMaterial()
Destructor.
Definition: TGeoMaterial.cxx:274
TGeoMaterial::GetFWExtension
TGeoExtension * GetFWExtension() const
Definition: TGeoMaterial.h:124
TGeoMixture::SetDensity
virtual void SetDensity(Double_t density)
Definition: TGeoMaterial.h:206
TGDMLMatrix
This class is used in the process of reading and writing the GDML "matrix" tag.
Definition: TGDMLMatrix.h:34
TGeoMaterial::GetNproperties
Int_t GetNproperties() const
Definition: TGeoMaterial.h:92
TGeoMixture::TGeoMixture
TGeoMixture()
Default constructor.
Definition: TGeoMaterial.cxx:700
TGeoMaterial::fCerenkov
TObject * fCerenkov
Definition: TGeoMaterial.h:60
TGeoMaterial::SetTemperature
void SetTemperature(Double_t temperature)
Definition: TGeoMaterial.h:140
TGeoMixture::GetZmixt
Double_t * GetZmixt() const
Definition: TGeoMaterial.h:194
TGeoMixture::GetNelements
virtual Int_t GetNelements() const
Definition: TGeoMaterial.h:193
Double_t
double Double_t
Definition: RtypesCore.h:59
TGeoMaterial::GetByteCount
virtual Int_t GetByteCount() const
Definition: TGeoMaterial.h:104
TGeoMixture::~TGeoMixture
virtual ~TGeoMixture()
Destructor.
Definition: TGeoMaterial.cxx:731
TGeoMaterial::operator=
TGeoMaterial & operator=(const TGeoMaterial &)
assignment operator
Definition: TGeoMaterial.cxx:244
TGeoMixture::fElements
TObjArray * fElements
Definition: TGeoMaterial.h:165
TCollection::GetSize
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Definition: TCollection.h:182
TObject
Mother of all ROOT objects.
Definition: TObject.h:37
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TGeoMaterial::SetUserExtension
void SetUserExtension(TGeoExtension *ext)
Connect user-defined extension to the material.
Definition: TGeoMaterial.cxx:288
TGeoMaterial::kMatStateUndefined
@ kMatStateUndefined
Definition: TGeoMaterial.h:43
TGeoMaterial::AddProperty
bool AddProperty(const char *property, const char *ref)
Definition: TGeoMaterial.cxx:354
name
char name[80]
Definition: TGX11.cxx:110
TGeoMaterial::ScreenFactor
static Double_t ScreenFactor(Double_t z)
static function Compute screening factor for pair production and Bremsstrahlung REFERENCE : EGS MANUA...
Definition: TGeoMaterial.cxx:1182
TAttFill::fFillStyle
Style_t fFillStyle
Fill area style.
Definition: TAttFill.h:23
TGeoMixture::GetSpecificActivity
virtual Double_t GetSpecificActivity(Int_t i=-1) const
Get specific activity (in Bq/gram) for the whole mixture (no argument) or for a given component.
Definition: TGeoMaterial.cxx:1005
TGeoMaterial::fShader
TObject * fShader
Definition: TGeoMaterial.h:59
TGeoMixture::GetAmixt
Double_t * GetAmixt() const
Definition: TGeoMaterial.h:195
TGeoExtension
ABC for user objects attached to TGeoVolume or TGeoNode.
Definition: TGeoExtension.h:20
TGeoMixture::TGeoMixture
TGeoMixture(const TGeoMixture &)=delete
TAttFill
Fill Area Attributes class.
Definition: TAttFill.h:19
TGeoMaterial::fRadLen
Double_t fRadLen
Definition: TGeoMaterial.h:54
TGeoMixture::SetZ
virtual void SetZ(Double_t z)
Definition: TGeoMaterial.h:205
STP_pressure
static const Double_t STP_pressure
Definition: TGeoMaterial.h:32
TGeoMaterial::fState
EGeoMaterialState fState
Definition: TGeoMaterial.h:58
TGeoMaterial::GetPropertyRef
const char * GetPropertyRef(const char *property) const
Definition: TGeoMaterial.cxx:296
TGeoMaterial::GetIndex
Int_t GetIndex()
Retrieve material index in the list of materials.
Definition: TGeoMaterial.cxx:584
TGeoMaterial::GetA
virtual Double_t GetA() const
Definition: TGeoMaterial.h:105
TGeoMaterial::kMatUsed
@ kMatUsed
Definition: TGeoMaterial.h:39
Char_t
char Char_t
Definition: RtypesCore.h:33
TGeoMaterial::FillMaterialEvolution
virtual 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 composin...
Definition: TGeoMaterial.cxx:664
TGeoMixture::fWeights
Double_t * fWeights
Definition: TGeoMaterial.h:162
TGeoMaterial::GetConstProperties
TList const & GetConstProperties() const
Definition: TGeoMaterial.h:101
TGeoMixture::fNatoms
Int_t * fNatoms
Definition: TGeoMaterial.h:163
TGeoMixture::fAmixture
Double_t * fAmixture
Definition: TGeoMaterial.h:161
TGeoMaterial::fDensity
Double_t fDensity
Definition: TGeoMaterial.h:53
TList
A doubly linked list.
Definition: TList.h:44
TGeoMaterial::fA
Double_t fA
Definition: TGeoMaterial.h:51
TGeoMaterial::Coulomb
static Double_t Coulomb(Double_t z)
static function Compute Coulomb correction for pair production and Brem REFERENCE : EGS MANUAL SLAC 2...
Definition: TGeoMaterial.cxx:498
int
TGeoMixture::fNelements
Int_t fNelements
Definition: TGeoMaterial.h:159