#include <G4CrystalExtension.hh>
|
| G4CrystalExtension (G4Material *, const G4String &name="crystal") |
|
| ~G4CrystalExtension () |
|
void | Print () const |
|
G4Material * | GetMaterial () |
|
void | SetMaterial (G4Material *aMat) |
|
void | SetUnitCell (G4CrystalUnitCell *aUC) |
|
G4CrystalUnitCell * | GetUnitCell () const |
|
const Elasticity & | GetElasticity () const |
|
const ReducedElasticity & | GetElReduced () 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 |
|
G4CrystalAtomBase * | GetAtomBase (const G4Element *anElement) |
|
void | AddAtomBase (const G4Element *anElement, G4CrystalAtomBase *aBase) |
|
G4CrystalAtomBase * | GetAtomBase (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) |
|
G4AtomicBond * | GetAtomicBond (G4int idx) |
|
std::vector< G4AtomicBond * > | GetAtomicBondVector () |
|
| G4VMaterialExtension (const G4String &name) |
|
virtual | ~G4VMaterialExtension () |
|
virtual void | Print () const =0 |
|
const std::size_t & | GetHash () const |
|
const G4String & | GetName () const |
|
Definition at line 60 of file G4CrystalExtension.hh.
◆ Elasticity
typedef G4double G4CrystalExtension::Elasticity[3][3][3][3] |
◆ ReducedElasticity
typedef G4double G4CrystalExtension::ReducedElasticity[6][6] |
◆ G4CrystalExtension()
G4CrystalExtension::G4CrystalExtension |
( |
G4Material * |
mat, |
|
|
const G4String & |
name = "crystal" |
|
) |
| |
◆ ~G4CrystalExtension()
G4CrystalExtension::~G4CrystalExtension |
( |
| ) |
|
◆ AddAtomBase() [1/2]
◆ AddAtomBase() [2/2]
Definition at line 137 of file G4CrystalExtension.hh.
137 {
139 }
void AddAtomBase(const G4Element *anElement, G4CrystalAtomBase *aBase)
const G4Element * GetElement(G4int iel) const
◆ AddAtomicBond()
void G4CrystalExtension::AddAtomicBond |
( |
G4AtomicBond * |
aBond | ) |
|
|
inline |
◆ ComputeStructureFactor()
Definition at line 50 of file G4CrystalExtension.cc.
54 {
55
56
57
59
62
64
65 for(
auto anAtomPos:
GetAtomBase(anElement)->GetPos())
66 {
68 + k * anAtomPos.y()
69 + l * anAtomPos.z();
70 GFS +=
G4complex(std::cos(2 * CLHEP::pi * aDouble),
71 std::sin(2 * CLHEP::pi * aDouble));
72 }
73
74
75 SF +=
G4complex(AFF * GFS.real(),AFF * GFS.imag());
76 }
77 return SF;
78}
std::complex< G4double > G4complex
G4CrystalAtomBase * GetAtomBase(const G4Element *anElement)
const G4ElementVector * GetElementVector() const
◆ ComputeStructureFactorGeometrical()
Definition at line 82 of file G4CrystalExtension.cc.
85 {
86
88
90 for(
auto anAtomPos:
GetAtomBase(anElement)->GetPos())
91 {
93 + k * anAtomPos.y()
94 + l * anAtomPos.z();
95 GFS +=
G4complex(std::cos(2 * CLHEP::pi * aDouble),
96 std::sin(2 * CLHEP::pi * aDouble));
97 }
98 }
99 return GFS;
100}
◆ GetAtomBase() [1/2]
◆ GetAtomBase() [2/2]
◆ GetAtomicBond()
◆ GetAtomicBondVector()
std::vector< G4AtomicBond * > G4CrystalExtension::GetAtomicBondVector |
( |
| ) |
|
|
inline |
◆ GetAtomPos() [1/3]
Definition at line 133 of file G4CrystalExtension.cc.
133 {
134 std::vector<G4ThreeVector>
pos;
138 vecout.insert(std::end(vecout), std::begin(pos), std::end(pos));
139 }
140 return true;
141}
G4bool FillAtomicPos(G4ThreeVector &pos, std::vector< G4ThreeVector > &vecout)
Referenced by GetAtomPos().
◆ GetAtomPos() [2/3]
Definition at line 148 of file G4CrystalExtension.hh.
148 {
150 return true;
151 }
G4bool GetAtomPos(const G4Element *anEl, std::vector< G4ThreeVector > &vecout)
◆ GetAtomPos() [3/3]
Definition at line 145 of file G4CrystalExtension.cc.
145 {
146 std::vector<G4ThreeVector>
pos;
147 vecout.clear();
151 vecout.insert(std::end(vecout), std::begin(pos), std::end(pos));
152 }
153 return true;
154}
◆ GetCijkl()
◆ GetCpq()
◆ GetElasticity()
const Elasticity & G4CrystalExtension::GetElasticity |
( |
| ) |
const |
|
inline |
◆ GetElReduced()
◆ GetMaterial()
◆ GetUnitCell()
◆ Print()
void G4CrystalExtension::Print |
( |
| ) |
const |
|
inlinevirtual |
◆ SetCpq()
◆ SetElReduced()
Definition at line 104 of file G4CrystalExtension.cc.
104 {
105 for (size_t i=0; i<6; i++) {
106 for (size_t j=0; j<6; j++) {
108 }
109 }
110}
◆ SetMaterial()
void G4CrystalExtension::SetMaterial |
( |
G4Material * |
aMat | ) |
|
|
inline |
◆ SetUnitCell()
◆ fElasticity
◆ fElReduced
The documentation for this class was generated from the following files: