49 #ifndef G4CrystalExtension_HH
50 #define G4CrystalExtension_HH 1
void AddAtomBase(const G4Element *anElement, G4CrystalAtomBase *aBase)
void SetMaterial(G4Material *aMat)
std::map< const G4Element *, G4CrystalAtomBase * > theCrystalAtomBaseMap
G4double GetCijkl(G4int i, G4int j, G4int k, G4int l) const
const ReducedElasticity & GetElReduced() const
ReducedElasticity fElReduced
G4complex ComputeStructureFactorGeometrical(G4int h, G4int k, G4int l)
G4CrystalExtension(G4Material *, const G4String &name="crystal")
G4CrystalUnitCell * GetUnitCell() const
G4bool GetAtomPos(const G4Element *anEl, std::vector< G4ThreeVector > &vecout)
G4CrystalAtomBase * GetAtomBase(G4int anElIdx)
void SetUnitCell(G4CrystalUnitCell *aUC)
std::complex< G4double > G4complex
const XML_Char int const XML_Char * value
std::vector< G4AtomicBond * > GetAtomicBondVector()
void AddAtomicBond(G4AtomicBond *aBond)
void SetElReduced(const ReducedElasticity &mat)
G4double Elasticity[3][3][3][3]
G4double GetCpq(G4int p, G4int q) const
G4CrystalUnitCell * theUnitCell
const Elasticity & GetElasticity() const
G4double ReducedElasticity[6][6]
G4bool GetAtomPos(G4int anElIdx, std::vector< G4ThreeVector > &vecout)
G4AtomicBond * GetAtomicBond(G4int idx)
void AddAtomBase(G4int anElIdx, G4CrystalAtomBase *aLattice)
void SetCpq(G4int p, G4int q, G4double value)
G4complex ComputeStructureFactor(G4double kScatteringVector, G4int h, G4int k, G4int l)
const G4Element * GetElement(G4int iel) const
G4CrystalAtomBase * GetAtomBase(const G4Element *anElement)
G4Material * GetMaterial()
std::vector< G4AtomicBond * > theAtomicBondVector