Geant4  10.03
G4CrystalExtension Class Reference

#include <G4CrystalExtension.hh>

+ Inheritance diagram for G4CrystalExtension:
+ Collaboration diagram for G4CrystalExtension:

Public Types

typedef G4double Elasticity [3][3][3][3]
 
typedef G4double ReducedElasticity [6][6]
 

Public Member Functions

 G4CrystalExtension (G4Material *, const G4String &name="crystal")
 
 ~G4CrystalExtension ()
 
void Print () const
 
G4MaterialGetMaterial ()
 
void SetMaterial (G4Material *aMat)
 
void SetUnitCell (G4CrystalUnitCell *aUC)
 
G4CrystalUnitCellGetUnitCell () const
 
const ElasticityGetElasticity () const
 
const ReducedElasticityGetElReduced () const
 
G4double GetCijkl (G4int i, G4int j, G4int k, G4int l) const
 
void SetElReduced (const ReducedElasticity &mat)
 
void SetCpq (G4int p, G4int q, G4double value)
 
G4double GetCpq (G4int p, G4int q) const
 
G4CrystalAtomBaseGetAtomBase (const G4Element *anElement)
 
void AddAtomBase (const G4Element *anElement, G4CrystalAtomBase *aBase)
 
G4CrystalAtomBaseGetAtomBase (G4int anElIdx)
 
void AddAtomBase (G4int anElIdx, G4CrystalAtomBase *aLattice)
 
G4bool GetAtomPos (const G4Element *anEl, std::vector< G4ThreeVector > &vecout)
 
G4bool GetAtomPos (std::vector< G4ThreeVector > &vecout)
 
G4bool GetAtomPos (G4int anElIdx, std::vector< G4ThreeVector > &vecout)
 
G4complex ComputeStructureFactor (G4double kScatteringVector, G4int h, G4int k, G4int l)
 
G4complex ComputeStructureFactorGeometrical (G4int h, G4int k, G4int l)
 
void AddAtomicBond (G4AtomicBond *aBond)
 
G4AtomicBondGetAtomicBond (G4int idx)
 
std::vector< G4AtomicBond * > GetAtomicBondVector ()
 
- Public Member Functions inherited from G4VMaterialExtension
 G4VMaterialExtension (const G4String &name)
 
virtual ~G4VMaterialExtension ()
 
const std::size_t & GetHash () const
 
const G4StringGetName () const
 

Protected Attributes

Elasticity fElasticity
 
ReducedElasticity fElReduced
 
- Protected Attributes inherited from G4VMaterialExtension
const G4StringfName
 
const std::size_t fHash
 

Private Attributes

G4MaterialfMaterial
 
G4CrystalUnitCelltheUnitCell
 
std::map< const G4Element
*, G4CrystalAtomBase * > 
theCrystalAtomBaseMap
 
std::vector< G4AtomicBond * > theAtomicBondVector
 

Detailed Description

Definition at line 61 of file G4CrystalExtension.hh.

Member Typedef Documentation

typedef G4double G4CrystalExtension::Elasticity[3][3][3][3]

Definition at line 97 of file G4CrystalExtension.hh.

typedef G4double G4CrystalExtension::ReducedElasticity[6][6]

Definition at line 98 of file G4CrystalExtension.hh.

Constructor & Destructor Documentation

G4CrystalExtension::G4CrystalExtension ( G4Material mat,
const G4String name = "crystal" 
)

Definition at line 40 of file G4CrystalExtension.cc.

G4CrystalExtension::~G4CrystalExtension ( )

Definition at line 47 of file G4CrystalExtension.cc.

Member Function Documentation

void G4CrystalExtension::AddAtomBase ( const G4Element anElement,
G4CrystalAtomBase aBase 
)
inline

Definition at line 129 of file G4CrystalExtension.hh.

Referenced by AddAtomBase(), and GetAtomBase().

+ Here is the caller graph for this function:

void G4CrystalExtension::AddAtomBase ( G4int  anElIdx,
G4CrystalAtomBase aLattice 
)
inline

Definition at line 138 of file G4CrystalExtension.hh.

References AddAtomBase(), and G4Material::GetElement().

+ Here is the call graph for this function:

void G4CrystalExtension::AddAtomicBond ( G4AtomicBond aBond)
inline

Definition at line 176 of file G4CrystalExtension.hh.

G4complex G4CrystalExtension::ComputeStructureFactor ( G4double  kScatteringVector,
G4int  h,
G4int  k,
G4int  l 
)

Definition at line 52 of file G4CrystalExtension.cc.

References fMaterial, G4AtomicFormFactor::Get(), GetAtomBase(), G4Material::GetElementVector(), G4AtomicFormFactor::GetManager(), and pi.

+ Here is the call graph for this function:

G4complex G4CrystalExtension::ComputeStructureFactorGeometrical ( G4int  h,
G4int  k,
G4int  l 
)

Definition at line 84 of file G4CrystalExtension.cc.

References fMaterial, GetAtomBase(), G4Material::GetElementVector(), G4CrystalAtomBase::GetPos(), and pi.

+ Here is the call graph for this function:

G4CrystalAtomBase * G4CrystalExtension::GetAtomBase ( const G4Element anElement)

Definition at line 121 of file G4CrystalExtension.cc.

References AddAtomBase(), G4Exception(), G4Element::GetName(), JustWarning, and theCrystalAtomBaseMap.

Referenced by ComputeStructureFactor(), ComputeStructureFactorGeometrical(), GetAtomBase(), and GetAtomPos().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4CrystalAtomBase* G4CrystalExtension::GetAtomBase ( G4int  anElIdx)
inline

Definition at line 134 of file G4CrystalExtension.hh.

References GetAtomBase(), and G4Material::GetElement().

+ Here is the call graph for this function:

G4AtomicBond* G4CrystalExtension::GetAtomicBond ( G4int  idx)
inline

Definition at line 177 of file G4CrystalExtension.hh.

std::vector<G4AtomicBond*> G4CrystalExtension::GetAtomicBondVector ( )
inline

Definition at line 178 of file G4CrystalExtension.hh.

References theAtomicBondVector.

G4bool G4CrystalExtension::GetAtomPos ( const G4Element anEl,
std::vector< G4ThreeVector > &  vecout 
)

Definition at line 134 of file G4CrystalExtension.cc.

References G4CrystalUnitCell::FillAtomicPos(), GetAtomBase(), pos, and theUnitCell.

Referenced by GetAtomPos().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CrystalExtension::GetAtomPos ( std::vector< G4ThreeVector > &  vecout)

Definition at line 146 of file G4CrystalExtension.cc.

References fMaterial, GetAtomPos(), G4Material::GetElementVector(), and pos.

+ Here is the call graph for this function:

G4bool G4CrystalExtension::GetAtomPos ( G4int  anElIdx,
std::vector< G4ThreeVector > &  vecout 
)
inline

Definition at line 149 of file G4CrystalExtension.hh.

References GetAtomPos(), and G4Material::GetElement().

+ Here is the call graph for this function:

G4double G4CrystalExtension::GetCijkl ( G4int  i,
G4int  j,
G4int  k,
G4int  l 
) const
inline

Definition at line 109 of file G4CrystalExtension.hh.

G4double G4CrystalExtension::GetCpq ( G4int  p,
G4int  q 
) const
inline

Definition at line 117 of file G4CrystalExtension.hh.

const Elasticity& G4CrystalExtension::GetElasticity ( ) const
inline

Definition at line 105 of file G4CrystalExtension.hh.

References fElasticity.

const ReducedElasticity& G4CrystalExtension::GetElReduced ( ) const
inline

Definition at line 106 of file G4CrystalExtension.hh.

References fElReduced.

G4Material* G4CrystalExtension::GetMaterial ( )
inline

Definition at line 76 of file G4CrystalExtension.hh.

References fMaterial.

G4CrystalUnitCell* G4CrystalExtension::GetUnitCell ( ) const
inline

Definition at line 89 of file G4CrystalExtension.hh.

References theUnitCell.

Referenced by G4LogicalCrystalVolume::GetBasis().

+ Here is the caller graph for this function:

void G4CrystalExtension::Print ( void  ) const
inlinevirtual

Implements G4VMaterialExtension.

Definition at line 71 of file G4CrystalExtension.hh.

void G4CrystalExtension::SetCpq ( G4int  p,
G4int  q,
G4double  value 
)

Definition at line 115 of file G4CrystalExtension.cc.

References fElReduced.

void G4CrystalExtension::SetElReduced ( const ReducedElasticity mat)

Definition at line 105 of file G4CrystalExtension.cc.

References fElReduced.

void G4CrystalExtension::SetMaterial ( G4Material aMat)
inline

Definition at line 77 of file G4CrystalExtension.hh.

void G4CrystalExtension::SetUnitCell ( G4CrystalUnitCell aUC)
inline

Definition at line 88 of file G4CrystalExtension.hh.

Member Data Documentation

Elasticity G4CrystalExtension::fElasticity
protected

Definition at line 101 of file G4CrystalExtension.hh.

Referenced by GetElasticity().

ReducedElasticity G4CrystalExtension::fElReduced
protected

Definition at line 102 of file G4CrystalExtension.hh.

Referenced by GetElReduced(), SetCpq(), and SetElReduced().

G4Material* G4CrystalExtension::fMaterial
private
std::vector<G4AtomicBond*> G4CrystalExtension::theAtomicBondVector
private

Definition at line 173 of file G4CrystalExtension.hh.

Referenced by GetAtomicBondVector().

std::map<const G4Element*,G4CrystalAtomBase*> G4CrystalExtension::theCrystalAtomBaseMap
private

Definition at line 124 of file G4CrystalExtension.hh.

Referenced by GetAtomBase().

G4CrystalUnitCell* G4CrystalExtension::theUnitCell
private

Definition at line 77 of file G4CrystalExtension.hh.

Referenced by GetAtomPos(), and GetUnitCell().


The documentation for this class was generated from the following files: