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