#include <G4CrystalExtension.hh>
|
| G4CrystalExtension (G4Material *, const G4String &name="crystal") |
|
| ~G4CrystalExtension () override=default |
|
void | Print () const override |
|
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 ()=default |
|
const std::size_t & | GetHash () const |
|
const G4String & | GetName () const |
|
Definition at line 51 of file G4CrystalExtension.hh.
◆ Elasticity
◆ ReducedElasticity
◆ G4CrystalExtension()
G4CrystalExtension::G4CrystalExtension |
( |
G4Material * | mat, |
|
|
const G4String & | name = "crystal" ) |
◆ ~G4CrystalExtension()
G4CrystalExtension::~G4CrystalExtension |
( |
| ) |
|
|
overridedefault |
◆ AddAtomBase() [1/2]
◆ AddAtomBase() [2/2]
Definition at line 94 of file G4CrystalExtension.hh.
95 {
97 }
void AddAtomBase(const G4Element *anElement, G4CrystalAtomBase *aBase)
const G4Element * GetElement(G4int iel) const
◆ AddAtomicBond()
void G4CrystalExtension::AddAtomicBond |
( |
G4AtomicBond * | aBond | ) |
|
|
inline |
◆ ComputeStructureFactor()
Definition at line 38 of file G4CrystalExtension.cc.
40{
41
42
43
45
48
50
51 for (
const auto& anAtomPos :
GetAtomBase(anElement)->GetPos()) {
52 G4double aDouble = h * anAtomPos.x() + k * anAtomPos.y() + l * anAtomPos.z();
53 GFS +=
G4complex(std::cos(CLHEP::twopi * aDouble), std::sin(CLHEP::twopi * aDouble));
54 }
55
56 SF +=
G4complex(AFF * GFS.real(), AFF * GFS.imag());
57 }
58 return SF;
59}
std::complex< G4double > G4complex
G4CrystalAtomBase * GetAtomBase(const G4Element *anElement)
const G4ElementVector * GetElementVector() const
◆ ComputeStructureFactorGeometrical()
Definition at line 63 of file G4CrystalExtension.cc.
64{
65
67
69 for (
const auto& anAtomPos :
GetAtomBase(anElement)->GetPos()) {
70 G4double aDouble = h * anAtomPos.x() + k * anAtomPos.y() + l * anAtomPos.z();
71 GFS +=
G4complex(std::cos(CLHEP::twopi * aDouble), std::sin(CLHEP::twopi * aDouble));
72 }
73 }
74 return GFS;
75}
◆ GetAtomBase() [1/2]
◆ GetAtomBase() [2/2]
◆ GetAtomicBond()
◆ GetAtomicBondVector()
std::vector< G4AtomicBond * > G4CrystalExtension::GetAtomicBondVector |
( |
| ) |
|
|
inline |
◆ GetAtomPos() [1/3]
Definition at line 112 of file G4CrystalExtension.cc.
113{
114 std::vector<G4ThreeVector>
pos;
115 for (
auto& asinglepos :
GetAtomBase(anEl)->GetPos()) {
118 vecout.insert(std::end(vecout), std::begin(pos), std::end(pos));
119 }
120 return true;
121}
G4bool FillAtomicPos(G4ThreeVector &pos, std::vector< G4ThreeVector > &vecout)
Referenced by GetAtomPos(), and GetAtomPos().
◆ GetAtomPos() [2/3]
Definition at line 104 of file G4CrystalExtension.hh.
105 {
107 return true;
108 }
G4bool GetAtomPos(const G4Element *anEl, std::vector< G4ThreeVector > &vecout)
◆ GetAtomPos() [3/3]
Definition at line 125 of file G4CrystalExtension.cc.
126{
127 std::vector<G4ThreeVector>
pos;
128 vecout.clear();
132 vecout.insert(std::end(vecout), std::begin(pos), std::end(pos));
133 }
134 return true;
135}
◆ GetCijkl()
◆ GetCpq()
◆ GetElasticity()
const Elasticity & G4CrystalExtension::GetElasticity |
( |
| ) |
const |
|
inline |
◆ GetElReduced()
◆ GetMaterial()
◆ GetUnitCell()
◆ Print()
void G4CrystalExtension::Print |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ SetCpq()
◆ SetElReduced()
Definition at line 79 of file G4CrystalExtension.cc.
80{
81 for (size_t i = 0; i < 6; ++i) {
82 for (size_t j = 0; j < 6; ++j) {
84 }
85 }
86}
◆ SetMaterial()
void G4CrystalExtension::SetMaterial |
( |
G4Material * | aMat | ) |
|
|
inline |
◆ SetUnitCell()
◆ fElasticity
◆ fElReduced
The documentation for this class was generated from the following files: