65 for(
auto anAtomPos:
GetAtomBase(anElement)->GetPos())
75 SF +=
G4complex(AFF * GFS.real(),AFF * GFS.imag());
90 for(
auto anAtomPos:
GetAtomBase(anElement)->GetPos())
105 for (
size_t i=0; i<6; i++) {
106 for (
size_t j=0; j<6; j++) {
115 if (p>0 && p<7 && q>0 && q<7)
fElReduced[p-1][q-1] = value;
123 +
" is not registered." ;
134 std::vector<G4ThreeVector>
pos;
138 vecout.insert(std::end(vecout), std::begin(
pos), std::end(
pos));
146 std::vector<G4ThreeVector>
pos;
151 vecout.insert(std::end(vecout), std::begin(
pos), std::end(
pos));
static const G4double pos
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::complex< G4double > G4complex
void SetElReduced(const ReducedElasticity &mat)
G4complex ComputeStructureFactorGeometrical(G4int h, G4int k, G4int l)
G4CrystalExtension(G4Material *, const G4String &name="crystal")
G4CrystalAtomBase * GetAtomBase(const G4Element *anElement)
void AddAtomBase(const G4Element *anElement, G4CrystalAtomBase *aBase)
std::map< const G4Element *, G4CrystalAtomBase * > theCrystalAtomBaseMap
G4complex ComputeStructureFactor(G4double kScatteringVector, G4int h, G4int k, G4int l)
G4bool GetAtomPos(const G4Element *anEl, std::vector< G4ThreeVector > &vecout)
G4CrystalUnitCell * theUnitCell
ReducedElasticity fElReduced
void SetCpq(G4int p, G4int q, G4double value)
G4bool FillAtomicPos(G4ThreeVector &pos, std::vector< G4ThreeVector > &vecout)
const G4String & GetName() const
const G4ElementVector * GetElementVector() const
static constexpr double pi
const char * name(G4int ptype)