ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4CrystalUnitCell Class Reference

#include <geant4/tree/geant4-10.6-release/source/materials/include/G4CrystalUnitCell.hh>

+ Collaboration diagram for G4CrystalUnitCell:

Public Member Functions

 G4CrystalUnitCell (G4double sizeA, G4double sizeB, G4double sizeC, G4double alpha, G4double beta, G4double gamma, G4int spacegroup)
 
virtual ~G4CrystalUnitCell ()
 
G4int GetSpaceGroup () const
 
void SetSpaceGroup (G4int aInt)
 
theLatticeSystemType GetLatticeSystem ()
 
theBravaisLatticeType GetBravaisLattice ()
 
const G4ThreeVectorGetBasis (G4int idx) const
 
const G4ThreeVectorGetUnitBasis (G4int idx) const
 
G4ThreeVector GetSize () const
 
G4ThreeVector GetAngle () const
 
G4ThreeVector GetUnitBasisTrigonal ()
 
const G4ThreeVectorGetRecBasis (G4int idx) const
 
const G4ThreeVectorGetRecUnitBasis (G4int idx) const
 
G4ThreeVector GetRecSize () const
 
G4ThreeVector GetRecAngle () const
 
G4bool FillAtomicUnitPos (G4ThreeVector &pos, std::vector< G4ThreeVector > &vecout)
 
G4bool FillAtomicPos (G4ThreeVector &pos, std::vector< G4ThreeVector > &vecout)
 
G4bool FillElReduced (G4double Cij[6][6])
 
G4double ComputeCellVolume ()
 
G4double GetVolume () const
 
G4double GetRecVolume () const
 
G4double GetIntSp2 (G4int h, G4int k, G4int l)
 
G4double GetRecIntSp2 (G4int h, G4int k, G4int l)
 
G4double GetIntCosAng (G4int h1, G4int k1, G4int l1, G4int h2, G4int k2, G4int l2)
 

Protected Attributes

G4ThreeVector nullVec
 
G4ThreeVector theSize
 
G4ThreeVector theAngle
 
G4ThreeVector theUnitBasis [3]
 
G4ThreeVector theBasis [3]
 
G4ThreeVector theRecSize
 
G4ThreeVector theRecAngle
 
G4ThreeVector theRecUnitBasis [3]
 
G4ThreeVector theRecBasis [3]
 

Private Member Functions

theLatticeSystemType GetLatticeSystem (G4int aGroup)
 
theBravaisLatticeType GetBravaisLattice (G4int aGroup)
 
G4bool FillAmorphous (G4double Cij[6][6]) const
 
G4bool FillCubic (G4double Cij[6][6]) const
 
G4bool FillTetragonal (G4double Cij[6][6]) const
 
G4bool FillOrthorhombic (G4double Cij[6][6]) const
 
G4bool FillRhombohedral (G4double Cij[6][6]) const
 
G4bool FillMonoclinic (G4double Cij[6][6]) const
 
G4bool FillTriclinic (G4double Cij[6][6]) const
 
G4bool FillHexagonal (G4double Cij[6][6]) const
 
G4bool ReflectElReduced (G4double Cij[6][6]) const
 

Private Attributes

G4int theSpaceGroup
 
G4double cosa
 
G4double cosb
 
G4double cosg
 
G4double sina
 
G4double sinb
 
G4double sing
 
G4double cosar
 
G4double cosbr
 
G4double cosgr
 
G4double theVolume
 
G4double theRecVolume
 

Detailed Description

Definition at line 47 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 47 of file G4CrystalUnitCell.hh

Constructor & Destructor Documentation

G4CrystalUnitCell::G4CrystalUnitCell ( G4double  sizeA,
G4double  sizeB,
G4double  sizeC,
G4double  alpha,
G4double  beta,
G4double  gamma,
G4int  spacegroup 
)

Definition at line 38 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 38 of file G4CrystalUnitCell.cc

References Amorphous, ComputeCellVolume(), cosa, cosar, cosb, cosbr, cosg, cosgr, Cubic, CLHEP::deg, GetLatticeSystem(), CLHEP::halfpi, CLHEP::HepXHat, CLHEP::HepYHat, CLHEP::HepZHat, Hexagonal, Monoclinic, nullVec, Orthorhombic, Rhombohedral, CLHEP::Hep3Vector::rotateX(), CLHEP::Hep3Vector::rotateZ(), sina, sinb, sing, Tetragonal, theBasis, theRecAngle, theRecBasis, theRecSize, theRecUnitBasis, theRecVolume, theSize, theSpaceGroup, theUnitBasis, theVolume, Triclinic, CLHEP::Hep3Vector::unit(), x3, and y3.

+ Here is the call graph for this function:

G4CrystalUnitCell::~G4CrystalUnitCell ( )
virtual

Definition at line 145 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 145 of file G4CrystalUnitCell.cc

Member Function Documentation

G4double G4CrystalUnitCell::ComputeCellVolume ( )

Definition at line 386 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 386 of file G4CrystalUnitCell.cc

References a, Amorphous, b, c, cosa, cosb, cosg, Cubic, GetLatticeSystem(), Hexagonal, Monoclinic, Orthorhombic, Rhombohedral, sinb, Tetragonal, theSize, and Triclinic.

Referenced by G4CrystalUnitCell().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CrystalUnitCell::FillAmorphous ( G4double  Cij[6][6]) const
private

Definition at line 264 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 264 of file G4CrystalUnitCell.cc

Referenced by FillElReduced().

+ Here is the caller graph for this function:

G4bool G4CrystalUnitCell::FillAtomicPos ( G4ThreeVector pos,
std::vector< G4ThreeVector > &  vecout 
)

Definition at line 217 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 217 of file G4CrystalUnitCell.cc

References FillAtomicUnitPos(), and theSize.

Referenced by G4CrystalExtension::GetAtomPos().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CrystalUnitCell::FillAtomicUnitPos ( G4ThreeVector pos,
std::vector< G4ThreeVector > &  vecout 
)

Definition at line 207 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 207 of file G4CrystalUnitCell.cc

References pos().

Referenced by FillAtomicPos().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CrystalUnitCell::FillCubic ( G4double  Cij[6][6]) const
private

Definition at line 271 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 271 of file G4CrystalUnitCell.cc

References ReflectElReduced().

Referenced by FillElReduced().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CrystalUnitCell::FillElReduced ( G4double  Cij[6][6])

Definition at line 229 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 229 of file G4CrystalUnitCell.cc

References Amorphous, Cubic, FillAmorphous(), FillCubic(), FillHexagonal(), FillMonoclinic(), FillOrthorhombic(), FillRhombohedral(), FillTetragonal(), FillTriclinic(), GetLatticeSystem(), Hexagonal, Monoclinic, Orthorhombic, Rhombohedral, Tetragonal, and Triclinic.

+ Here is the call graph for this function:

G4bool G4CrystalUnitCell::FillHexagonal ( G4double  Cij[6][6]) const
private

Definition at line 366 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 366 of file G4CrystalUnitCell.cc

Referenced by FillElReduced().

+ Here is the caller graph for this function:

G4bool G4CrystalUnitCell::FillMonoclinic ( G4double  Cij[6][6]) const
private

Definition at line 340 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 340 of file G4CrystalUnitCell.cc

References FillOrthorhombic().

Referenced by FillElReduced().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CrystalUnitCell::FillOrthorhombic ( G4double  Cij[6][6]) const
private

Definition at line 306 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 306 of file G4CrystalUnitCell.cc

References ReflectElReduced().

Referenced by FillElReduced(), and FillMonoclinic().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CrystalUnitCell::FillRhombohedral ( G4double  Cij[6][6]) const
private

Definition at line 321 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 321 of file G4CrystalUnitCell.cc

Referenced by FillElReduced().

+ Here is the caller graph for this function:

G4bool G4CrystalUnitCell::FillTetragonal ( G4double  Cij[6][6]) const
private

Definition at line 289 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 289 of file G4CrystalUnitCell.cc

References ReflectElReduced().

Referenced by FillElReduced().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CrystalUnitCell::FillTriclinic ( G4double  Cij[6][6]) const
private

Definition at line 350 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 350 of file G4CrystalUnitCell.cc

References ReflectElReduced().

Referenced by FillElReduced().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4CrystalUnitCell::GetAngle ( ) const
inline

Definition at line 102 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 102 of file G4CrystalUnitCell.hh

References theAngle.

const G4ThreeVector & G4CrystalUnitCell::GetBasis ( G4int  idx) const

Definition at line 180 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 180 of file G4CrystalUnitCell.cc

References nullVec, and theBasis.

Referenced by G4LogicalCrystalVolume::GetBasis().

+ Here is the caller graph for this function:

theBravaisLatticeType G4CrystalUnitCell::GetBravaisLattice ( G4int  aGroup)
private
theBravaisLatticeType G4CrystalUnitCell::GetBravaisLattice ( )
inline

Definition at line 74 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 74 of file G4CrystalUnitCell.hh

References theSpaceGroup.

G4double G4CrystalUnitCell::GetIntCosAng ( G4int  h1,
G4int  k1,
G4int  l1,
G4int  h2,
G4int  k2,
G4int  l2 
)

Definition at line 550 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 550 of file G4CrystalUnitCell.cc

References a, Amorphous, b, c, c2, cosar, cosbr, cosgr, Cubic, GetIntSp2(), GetLatticeSystem(), h2, Hexagonal, k1, Monoclinic, Orthorhombic, Rhombohedral, Tetragonal, theRecSize, and Triclinic.

+ Here is the call graph for this function:

G4double G4CrystalUnitCell::GetIntSp2 ( G4int  h,
G4int  k,
G4int  l 
)

Definition at line 424 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 424 of file G4CrystalUnitCell.cc

References a, Amorphous, b, c, c2, cosa, cosb, Cubic, GetLatticeSystem(), GetRecIntSp2(), Acts::UnitConstants::h, h2, Hexagonal, k, k2, Monoclinic, Orthorhombic, Acts::IntegrationTest::R, Rhombohedral, sina, sinb, T, Tetragonal, theSize, and Triclinic.

Referenced by GetIntCosAng().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

theLatticeSystemType G4CrystalUnitCell::GetLatticeSystem ( G4int  aGroup)
private

Definition at line 149 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 149 of file G4CrystalUnitCell.cc

References Amorphous, Cubic, Hexagonal, Monoclinic, Orthorhombic, Rhombohedral, Tetragonal, and Triclinic.

theLatticeSystemType G4CrystalUnitCell::GetLatticeSystem ( )
inline

Definition at line 71 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 71 of file G4CrystalUnitCell.hh

References theSpaceGroup.

Referenced by ComputeCellVolume(), FillElReduced(), G4CrystalUnitCell(), GetIntCosAng(), GetIntSp2(), and GetRecIntSp2().

+ Here is the caller graph for this function:

G4ThreeVector G4CrystalUnitCell::GetRecAngle ( ) const
inline

Definition at line 118 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 118 of file G4CrystalUnitCell.hh

References theRecAngle.

const G4ThreeVector & G4CrystalUnitCell::GetRecBasis ( G4int  idx) const

Definition at line 192 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 192 of file G4CrystalUnitCell.cc

References nullVec, and theRecBasis.

G4double G4CrystalUnitCell::GetRecIntSp2 ( G4int  h,
G4int  k,
G4int  l 
)

Definition at line 491 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 491 of file G4CrystalUnitCell.cc

References a, Amorphous, b, c, c2, cosar, cosbr, cosgr, Cubic, GetLatticeSystem(), Acts::UnitConstants::h, h2, Hexagonal, k, k2, Monoclinic, Orthorhombic, Rhombohedral, Tetragonal, theRecSize, and Triclinic.

Referenced by GetIntSp2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4CrystalUnitCell::GetRecSize ( ) const
inline

Definition at line 117 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 117 of file G4CrystalUnitCell.hh

References theRecSize.

const G4ThreeVector & G4CrystalUnitCell::GetRecUnitBasis ( G4int  idx) const

Definition at line 186 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 186 of file G4CrystalUnitCell.cc

References nullVec, and theRecUnitBasis.

G4double G4CrystalUnitCell::GetRecVolume ( ) const
inline

Definition at line 152 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 152 of file G4CrystalUnitCell.hh

References theRecVolume.

G4ThreeVector G4CrystalUnitCell::GetSize ( ) const
inline

Definition at line 101 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 101 of file G4CrystalUnitCell.hh

References theSize.

G4int G4CrystalUnitCell::GetSpaceGroup ( ) const
inline

Definition at line 63 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 63 of file G4CrystalUnitCell.hh

References theSpaceGroup.

const G4ThreeVector & G4CrystalUnitCell::GetUnitBasis ( G4int  idx) const

Definition at line 174 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 174 of file G4CrystalUnitCell.cc

References nullVec, and theUnitBasis.

G4ThreeVector G4CrystalUnitCell::GetUnitBasisTrigonal ( )

Definition at line 198 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 198 of file G4CrystalUnitCell.cc

References cosa, cosb, cosg, sing, CLHEP::Hep3Vector::unit(), x3, and y3.

+ Here is the call graph for this function:

G4double G4CrystalUnitCell::GetVolume ( ) const
inline

Definition at line 151 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 151 of file G4CrystalUnitCell.hh

References theVolume.

G4bool G4CrystalUnitCell::ReflectElReduced ( G4double  Cij[6][6]) const
private

Definition at line 375 of file G4CrystalUnitCell.cc.

View newest version in sPHENIX GitHub at line 375 of file G4CrystalUnitCell.cc

Referenced by FillCubic(), FillOrthorhombic(), FillTetragonal(), and FillTriclinic().

+ Here is the caller graph for this function:

void G4CrystalUnitCell::SetSpaceGroup ( G4int  aInt)
inline

Definition at line 64 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 64 of file G4CrystalUnitCell.hh

References theSpaceGroup.

Member Data Documentation

G4double G4CrystalUnitCell::cosa
private

< struct from SgInfo library needed for further calculations see SgInfo documentation on http://cci.lbl.gov/sginfo/

Definition at line 83 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 83 of file G4CrystalUnitCell.hh

Referenced by ComputeCellVolume(), G4CrystalUnitCell(), GetIntSp2(), and GetUnitBasisTrigonal().

G4double G4CrystalUnitCell::cosar
private

Definition at line 85 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 85 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), GetIntCosAng(), and GetRecIntSp2().

G4double G4CrystalUnitCell::cosb
private

Definition at line 83 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 83 of file G4CrystalUnitCell.hh

Referenced by ComputeCellVolume(), G4CrystalUnitCell(), GetIntSp2(), and GetUnitBasisTrigonal().

G4double G4CrystalUnitCell::cosbr
private

Definition at line 85 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 85 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), GetIntCosAng(), and GetRecIntSp2().

G4double G4CrystalUnitCell::cosg
private

Definition at line 83 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 83 of file G4CrystalUnitCell.hh

Referenced by ComputeCellVolume(), G4CrystalUnitCell(), and GetUnitBasisTrigonal().

G4double G4CrystalUnitCell::cosgr
private

Definition at line 85 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 85 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), GetIntCosAng(), and GetRecIntSp2().

G4ThreeVector G4CrystalUnitCell::nullVec
protected

Definition at line 91 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 91 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), GetBasis(), GetRecBasis(), GetRecUnitBasis(), and GetUnitBasis().

G4double G4CrystalUnitCell::sina
private

Definition at line 84 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 84 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), and GetIntSp2().

G4double G4CrystalUnitCell::sinb
private

Definition at line 84 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 84 of file G4CrystalUnitCell.hh

Referenced by ComputeCellVolume(), G4CrystalUnitCell(), and GetIntSp2().

G4double G4CrystalUnitCell::sing
private

Definition at line 84 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 84 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), and GetUnitBasisTrigonal().

G4ThreeVector G4CrystalUnitCell::theAngle
protected

Definition at line 94 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 94 of file G4CrystalUnitCell.hh

Referenced by GetAngle().

G4ThreeVector G4CrystalUnitCell::theBasis[3]
protected

Definition at line 96 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 96 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), and GetBasis().

G4ThreeVector G4CrystalUnitCell::theRecAngle
protected

Definition at line 110 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 110 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), and GetRecAngle().

G4ThreeVector G4CrystalUnitCell::theRecBasis[3]
protected

Definition at line 112 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 112 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), and GetRecBasis().

G4ThreeVector G4CrystalUnitCell::theRecSize
protected

Definition at line 109 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 109 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), GetIntCosAng(), GetRecIntSp2(), and GetRecSize().

G4ThreeVector G4CrystalUnitCell::theRecUnitBasis[3]
protected

Definition at line 111 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 111 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), and GetRecUnitBasis().

G4double G4CrystalUnitCell::theRecVolume
private

Definition at line 156 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 156 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), and GetRecVolume().

G4ThreeVector G4CrystalUnitCell::theSize
protected

Definition at line 93 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 93 of file G4CrystalUnitCell.hh

Referenced by ComputeCellVolume(), FillAtomicPos(), G4CrystalUnitCell(), GetIntSp2(), and GetSize().

G4int G4CrystalUnitCell::theSpaceGroup
private

Definition at line 61 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 61 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), GetBravaisLattice(), GetLatticeSystem(), GetSpaceGroup(), and SetSpaceGroup().

G4ThreeVector G4CrystalUnitCell::theUnitBasis[3]
protected

Definition at line 95 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 95 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), and GetUnitBasis().

G4double G4CrystalUnitCell::theVolume
private

Definition at line 155 of file G4CrystalUnitCell.hh.

View newest version in sPHENIX GitHub at line 155 of file G4CrystalUnitCell.hh

Referenced by G4CrystalUnitCell(), and GetVolume().


The documentation for this class was generated from the following files: