Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4CrystalUnitCell Class Reference

#include <G4CrystalUnitCell.hh>

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]
 

Detailed Description

Definition at line 47 of file G4CrystalUnitCell.hh.

Constructor & Destructor Documentation

◆ G4CrystalUnitCell()

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

Definition at line 38 of file G4CrystalUnitCell.cc.

44 :
45theSpaceGroup(spacegroup),
46theSize(G4ThreeVector(sizeA,sizeB,sizeC)),
47theAngle(G4ThreeVector(alpha,beta,gamma))
48{
49
50 nullVec = G4ThreeVector(0.,0.,0.);
54
58
59 cosa=std::cos(alpha), cosb=std::cos(beta), cosg=std::cos(gamma);
60 sina=std::sin(alpha), sinb=std::sin(beta), sing=std::sin(gamma);
61
62 cosar = (cosb*cosg-cosa)/(sinb*sing);
63 cosbr = (cosa*cosg-cosb)/(sina*sing);
64 cosgr = (cosa*cosb-cosg)/(sina*sinb);
65
66 theVolume = ComputeCellVolume();
67 theRecVolume = 1. / theVolume;
68
69 theRecSize[0] = sizeB * sizeC * sina / theVolume;
70 theRecSize[1] = sizeC * sizeA * sinb / theVolume;
71 theRecSize[2] = sizeA * sizeB * sing / theVolume;
72
73 theRecAngle[0] = std::acos(cosar);
74 theRecAngle[1] = std::acos(cosbr);
75 theRecAngle[2] = std::acos(cosgr);
76
77 G4double x3,y3,z3;
78
79 switch (GetLatticeSystem(theSpaceGroup)) {
80 case Amorphous:
81 break;
82 case Cubic: // Cubic, C44 set
83 break;
84 case Tetragonal:
85 break;
86 case Orthorhombic:
87 break;
88 case Rhombohedral:
89 theUnitBasis[1].rotateZ(gamma-CLHEP::halfpi); // X-Y opening angle
90 // Z' axis computed by hand to get both opening angles right
91 // X'.Z' = cos(alpha), Y'.Z' = cos(beta), solve for Z' components
92 x3=cosa, y3=(cosb-cosa*cosg)/sing, z3=std::sqrt(1.-x3*x3-y3*y3);
93 theUnitBasis[2] = G4ThreeVector(x3, y3, z3).unit();
94 break;
95 case Monoclinic:
96 theUnitBasis[2].rotateX(beta-CLHEP::halfpi); // Z-Y opening angle
97 break;
98 case Triclinic:
99 theUnitBasis[1].rotateZ(gamma-CLHEP::halfpi); // X-Y opening angle
100 // Z' axis computed by hand to get both opening angles right
101 // X'.Z' = cos(alpha), Y'.Z' = cos(beta), solve for Z' components
102 x3=cosa, y3=(cosb-cosa*cosg)/sing, z3=std::sqrt(1.-x3*x3-y3*y3);
103 theUnitBasis[2] = G4ThreeVector(x3, y3, z3).unit();
104 break;
105 case Hexagonal: // Tetragonal, C16=0
106 theUnitBasis[1].rotateZ(30.*CLHEP::deg); // X-Y opening angle
107 break;
108 default:
109 break;
110 }
111
112 for(auto i:{0,1,2}){
113 theBasis[i] = theUnitBasis[i] * theSize[i];
115 }
116
117 // Initialize sgInfo
118 /* at first some initialization for SgInfo */
119 /*
120 const T_TabSgName *tsgn = NULL;
121
122 SgInfo.MaxList = 192;
123 SgInfo.ListSeitzMx = malloc( SgInfo.MaxList * sizeof(*SgInfo.ListSeitzMx) );
124
125 // no list info needed here
126 SgInfo.ListRotMxInfo = NULL;
127 tsgn = FindTabSgNameEntry(SchoenfliesSymbols[theSpaceGroup], 'A');
128
129 // initialize SgInfo struct
130 InitSgInfo( &SgInfo );
131 SgInfo.TabSgName = tsgn;
132 if ( tsgn ){
133 SgInfo.GenOption = 1;
134 }
135
136 ParseHallSymbol( SchoenfliesSymbols[theSpaceGroup], &SgInfo );
137 CompleteSgInfo( &SgInfo );
138 Set_si( &SgInfo );
139 */
140
141}
CLHEP::Hep3Vector G4ThreeVector
double G4double
Definition: G4Types.hh:83
Hep3Vector & rotateX(double)
Definition: ThreeVector.cc:87
Hep3Vector unit() const
Hep3Vector & rotateZ(double)
Definition: ThreeVector.cc:107
G4ThreeVector theBasis[3]
G4ThreeVector theSize
G4ThreeVector theRecSize
G4ThreeVector theRecUnitBasis[3]
G4ThreeVector theRecBasis[3]
G4ThreeVector nullVec
G4ThreeVector theUnitBasis[3]
G4double ComputeCellVolume()
G4ThreeVector theRecAngle
theLatticeSystemType GetLatticeSystem()
G4ThreeVector theAngle
DLL_API const Hep3Vector HepZHat
Definition: ThreeVector.h:419
DLL_API const Hep3Vector HepXHat
DLL_API const Hep3Vector HepYHat
Definition: ThreeVector.h:419

◆ ~G4CrystalUnitCell()

G4CrystalUnitCell::~G4CrystalUnitCell ( )
virtual

Definition at line 145 of file G4CrystalUnitCell.cc.

145{;}

Member Function Documentation

◆ ComputeCellVolume()

G4double G4CrystalUnitCell::ComputeCellVolume ( )

Definition at line 400 of file G4CrystalUnitCell.cc.

400 {
401 G4double a = theSize[0], b = theSize[1], c = theSize[2];
402
403 switch(GetLatticeSystem())
404 {
405 case Amorphous:
406 return 0.;
407 break;
408 case Cubic:
409 return a * a * a;
410 break;
411 case Tetragonal:
412 return a * a * c;
413 break;
414 case Orthorhombic:
415 return a * b * c;
416 break;
417 case Rhombohedral:
418 return a*a*a*std::sqrt(1.-3.*cosa*cosa+2.*cosa*cosa*cosa);
419 break;
420 case Monoclinic:
421 return a*b*c*sinb;
422 break;
423 case Triclinic:
424 return a*b*c*std::sqrt(1.-cosa*cosa-cosb*cosb-cosg*cosg*2.*cosa*cosb*cosg);
425 break;
426 case Hexagonal:
427 return std::sqrt(3.0)/2.*a*a*c;
428 break;
429 default:
430 break;
431 }
432
433 return 0.;
434}

Referenced by G4CrystalUnitCell().

◆ FillAtomicPos()

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

Definition at line 217 of file G4CrystalUnitCell.cc.

217 {
218 FillAtomicUnitPos(posin,vecout);
219 for(auto &vec:vecout){
220 vec.setX(vec.x()*theSize[0]);
221 vec.setY(vec.y()*theSize[1]);
222 vec.setZ(vec.z()*theSize[2]);
223 }
224 return true;
225}
G4bool FillAtomicUnitPos(G4ThreeVector &pos, std::vector< G4ThreeVector > &vecout)

Referenced by G4CrystalExtension::GetAtomPos().

◆ FillAtomicUnitPos()

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

Definition at line 207 of file G4CrystalUnitCell.cc.

207 {
208 // Just for testing the infrastructure
209 G4ThreeVector aaa = pos;
210 vecout.push_back(aaa);
211 vecout.emplace_back(2., 5., 3.);
212 return true;
213}

Referenced by FillAtomicPos().

◆ FillElReduced()

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

Definition at line 229 of file G4CrystalUnitCell.cc.

229 {
230 switch (GetLatticeSystem()) {
231 case Amorphous:
232 return FillAmorphous(Cij);
233 break;
234 case Cubic: // Cubic, C44 set
235 return FillCubic(Cij);
236 break;
237 case Tetragonal:
238 return FillTetragonal(Cij);
239 break;
240 case Orthorhombic:
241 return FillOrthorhombic(Cij);
242 break;
243 case Rhombohedral:
244 return FillRhombohedral(Cij);
245 break;
246 case Monoclinic:
247 return FillMonoclinic(Cij);
248 break;
249 case Triclinic:
250 return FillTriclinic(Cij);
251 break;
252 case Hexagonal: // Tetragonal, C16=0
253 return FillHexagonal(Cij);
254 break;
255 default:
256 break;
257 }
258
259 return false;
260}

◆ GetAngle()

G4ThreeVector G4CrystalUnitCell::GetAngle ( ) const
inline

Definition at line 102 of file G4CrystalUnitCell.hh.

102{return theAngle;}

◆ GetBasis()

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

Definition at line 180 of file G4CrystalUnitCell.cc.

180 {
181 return (idx>=0 && idx<3 ? theBasis[idx] : nullVec);
182}

Referenced by G4LogicalCrystalVolume::GetBasis().

◆ GetBravaisLattice()

theBravaisLatticeType G4CrystalUnitCell::GetBravaisLattice ( )
inline

Definition at line 74 of file G4CrystalUnitCell.hh.

74 {
75 return GetBravaisLattice(theSpaceGroup);
76 }
theBravaisLatticeType GetBravaisLattice()

Referenced by GetBravaisLattice().

◆ GetIntCosAng()

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

Definition at line 564 of file G4CrystalUnitCell.cc.

569 {
570
571 /* Reference:
572 Table 2.4, pag. 65
573
574 @Inbook{Kelly2012,
575 author="Anthony A. Kelly and Kevin M. Knowles",
576 title="Appendix 3 Interplanar Spacings and Interplanar Angles",
577 bookTitle="Crystallography and Crystal Defects, 2nd Edition",
578 year="2012",
579 publisher="John Wiley & Sons, Ltd.",
580 isbn="978-0-470-75014-8",
581 doi="10.1002/9781119961468",
582 url="http://onlinelibrary.wiley.com/book/10.1002/9781119961468"
583 }
584 */
585
586 G4double a = theRecSize[0], b = theRecSize[1], c = theRecSize[2];
587 G4double a2 = a*a, b2 = b*b, c2 = c*c;
588 G4double dsp1dsp2;
589 switch(GetLatticeSystem())
590 {
591 case Amorphous:
592 return 0.;
593 break;
594 case Cubic:
595 return (h1*h2 + k1*k2 + l1+l2) / (std::sqrt(h1*h1 + k1*k1 + l1*l1) * std::sqrt(h2*h2 + k2*k2 + l2*l2));
596 break;
597 case Tetragonal:
598 dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
599 return 0. ;
600 break;
601 case Orthorhombic:
602 dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
603 return dsp1dsp2 * (h1*h2*a2 + k1*k2*a2 + l1*l2*c2);
604 break;
605 case Rhombohedral:
606 dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
607 return dsp1dsp2 * (h1*h2*a2 + k1*k2*b2 + l1*l2*c2+
608 (k1*l2+k2*l1)*b*c*cosar+
609 (h1*l2+h2*l1)*a*c*cosbr+
610 (h1*k2+h2*k1)*a*b*cosgr);
611 break;
612 case Monoclinic:
613 dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
614 return dsp1dsp2 * (h1*h2*a2 + k1*k2*b2 + l1*l2*c2+
615 (k1*l2+k2*l1)*b*c*cosar+
616 (h1*l2+h2*l1)*a*c*cosbr+
617 (h1*k2+h2*k1)*a*b*cosgr);
618 break;
619 case Triclinic:
620 dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
621 return dsp1dsp2 * (h1*h2*a2 + k1*k2*b2 + l1*l2*c2+
622 (k1*l2+k2*l1)*b*c*cosar+
623 (h1*l2+h2*l1)*a*c*cosbr+
624 (h1*k2+h2*k1)*a*b*cosgr);
625 break;
626 case Hexagonal:
627 dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
628 return dsp1dsp2 *( (h1*h2 + k1*k2 + 0.5*(h1*k2+k1*h2))*a2 + l1*l2*c2);
629 break;
630 default:
631 break;
632 }
633
634 return 0.;
635}
G4double GetIntSp2(G4int h, G4int k, G4int l)

◆ GetIntSp2()

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

Definition at line 438 of file G4CrystalUnitCell.cc.

440 {
441
442 /* Reference:
443 Table 2.4, pag. 65
444
445 @Inbook{Ladd2003,
446 author="Ladd, Mark and Palmer, Rex",
447 title="Lattices and Space-Group Theory",
448 bookTitle="Structure Determination by X-ray Crystallography",
449 year="2003",
450 publisher="Springer US",
451 address="Boston, MA",
452 pages="51--116",
453 isbn="978-1-4615-0101-5",
454 doi="10.1007/978-1-4615-0101-5_2",
455 url="http://dx.doi.org/10.1007/978-1-4615-0101-5_2"
456 }
457 */
458
459 G4double a = theSize[0], b = theSize[1], c = theSize[2];
460 G4double a2 = a*a, b2 = b*b, c2 = c*c;
461 G4double h2 = h*h, k2 = k*k, l2 = l*l;
462
463 G4double cos2a,sin2a,sin2b;
464 G4double R,T;
465
466 switch(GetLatticeSystem())
467 {
468 case Amorphous:
469 return 0.;
470 break;
471 case Cubic:
472 return a2 / ( h2+k2+l2 );
473 break;
474 case Tetragonal:
475 return 1.0 / ( (h2 + k2)/a2 + l2/c2 );
476 break;
477 case Orthorhombic:
478 return 1.0 / ( h2/a2 + k2/b2 + l2/c2 );
479 break;
480 case Rhombohedral:
481 cos2a=cosa*cosa; sin2a=sina*sina;
482 T = h2+k2+l2+2.*(h*k+k*l+h*l) * ((cos2a-cosa)/sin2a);
483 R = sin2a / (1. - 3*cos2a + 2.*cos2a*cosa);
484 return a*a / (T*R);
485 break;
486 case Monoclinic:
487 sin2b=sinb*sinb;
488 return 1./(1./sin2b * (h2/a2+l2/c2-2*h*l*cosb/(a*c)) + k2/b2);
489 break;
490 case Triclinic:
491 return 1./GetRecIntSp2(h,k,l);
492 break;
493 case Hexagonal:
494 return 1. / ( (4.*(h2+k2+h*k) / (3.*a2)) + l2/c2 );
495 break;
496 default:
497 break;
498 }
499
500 return 0.;
501}
G4double GetRecIntSp2(G4int h, G4int k, G4int l)

Referenced by GetIntCosAng().

◆ GetLatticeSystem()

theLatticeSystemType G4CrystalUnitCell::GetLatticeSystem ( )
inline

Definition at line 71 of file G4CrystalUnitCell.hh.

71 {
72 return GetLatticeSystem(theSpaceGroup);
73 }

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

◆ GetRecAngle()

G4ThreeVector G4CrystalUnitCell::GetRecAngle ( ) const
inline

Definition at line 118 of file G4CrystalUnitCell.hh.

118{return theRecAngle;}

◆ GetRecBasis()

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

Definition at line 192 of file G4CrystalUnitCell.cc.

192 {
193 return (idx>=0 && idx<3 ? theRecBasis[idx] : nullVec);
194}

◆ GetRecIntSp2()

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

Definition at line 505 of file G4CrystalUnitCell.cc.

507 {
508 /* Reference:
509 Table 2.4, pag. 65
510
511 @Inbook{Ladd2003,
512 author="Ladd, Mark and Palmer, Rex",
513 title="Lattices and Space-Group Theory",
514 bookTitle="Structure Determination by X-ray Crystallography",
515 year="2003",
516 publisher="Springer US",
517 address="Boston, MA",
518 pages="51--116",
519 isbn="978-1-4615-0101-5",
520 doi="10.1007/978-1-4615-0101-5_2",
521 url="http://dx.doi.org/10.1007/978-1-4615-0101-5_2"
522 }
523 */
524
525 G4double a = theRecSize[0], b = theRecSize[1], c = theRecSize[2];
526 G4double a2 = a*a, b2 = b*b, c2 = c*c;
527 G4double h2 = h*h, k2 = k*k, l2 = l*l;
528
529 switch(GetLatticeSystem())
530 {
531 case Amorphous:
532 return 0.;
533 break;
534 case Cubic:
535 return a2 * (h2+k2+l2);
536 break;
537 case Tetragonal:
538 return (h2+k2)*a2 + l2*c2 ;
539 break;
540 case Orthorhombic:
541 return h2*a2 + k2+b2 + h2*c2;
542 break;
543 case Rhombohedral:
544 return (h2+k2+l2+2.*(h*k+k*l+h*l) * cosar)*a2;
545 break;
546 case Monoclinic:
547 return h2*a2+k2*b2+l2*c2+2.*h*l*a*c*cosbr;
548 break;
549 case Triclinic:
550 return h2*a2+k2*b2+l2*c2+2.*k*l*b*c*cosar+2.*l*h*c*a*cosbr+2.*h*k*a*b*cosgr;
551 break;
552 case Hexagonal:
553 return (h2+k2+h*k)*a2 + l2*c2;
554 break;
555 default:
556 break;
557 }
558
559 return 0.;
560}

Referenced by GetIntSp2().

◆ GetRecSize()

G4ThreeVector G4CrystalUnitCell::GetRecSize ( ) const
inline

Definition at line 117 of file G4CrystalUnitCell.hh.

117{return theRecSize;}

◆ GetRecUnitBasis()

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

Definition at line 186 of file G4CrystalUnitCell.cc.

186 {
187 return (idx>=0 && idx<3 ? theRecUnitBasis[idx] : nullVec);
188}

◆ GetRecVolume()

G4double G4CrystalUnitCell::GetRecVolume ( ) const
inline

Definition at line 152 of file G4CrystalUnitCell.hh.

152{return theRecVolume;} //get the stored volume

◆ GetSize()

G4ThreeVector G4CrystalUnitCell::GetSize ( ) const
inline

Definition at line 101 of file G4CrystalUnitCell.hh.

101{return theSize;}

◆ GetSpaceGroup()

G4int G4CrystalUnitCell::GetSpaceGroup ( ) const
inline

Definition at line 63 of file G4CrystalUnitCell.hh.

63{return theSpaceGroup;};

◆ GetUnitBasis()

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

Definition at line 174 of file G4CrystalUnitCell.cc.

174 {
175 return (idx>=0 && idx<3 ? theUnitBasis[idx] : nullVec);
176}

◆ GetUnitBasisTrigonal()

G4ThreeVector G4CrystalUnitCell::GetUnitBasisTrigonal ( )

Definition at line 198 of file G4CrystalUnitCell.cc.

198 {
199 // Z' axis computed by hand to get both opening angles right
200 // X'.Z' = cos(alpha), Y'.Z' = cos(beta), solve for Z' components
201 G4double x3=cosa, y3=(cosb-cosa*cosg)/sing, z3=std::sqrt(1.-x3*x3-y3*y3);
202 return G4ThreeVector(x3, y3, z3).unit();
203}

◆ GetVolume()

G4double G4CrystalUnitCell::GetVolume ( ) const
inline

Definition at line 151 of file G4CrystalUnitCell.hh.

151{return theVolume;} //get the stored volume

◆ SetSpaceGroup()

void G4CrystalUnitCell::SetSpaceGroup ( G4int  aInt)
inline

Definition at line 64 of file G4CrystalUnitCell.hh.

64{theSpaceGroup=aInt;};

Member Data Documentation

◆ nullVec

G4ThreeVector G4CrystalUnitCell::nullVec
protected

◆ theAngle

G4ThreeVector G4CrystalUnitCell::theAngle
protected

Definition at line 94 of file G4CrystalUnitCell.hh.

Referenced by GetAngle().

◆ theBasis

G4ThreeVector G4CrystalUnitCell::theBasis[3]
protected

Definition at line 96 of file G4CrystalUnitCell.hh.

Referenced by G4CrystalUnitCell(), and GetBasis().

◆ theRecAngle

G4ThreeVector G4CrystalUnitCell::theRecAngle
protected

Definition at line 110 of file G4CrystalUnitCell.hh.

Referenced by G4CrystalUnitCell(), and GetRecAngle().

◆ theRecBasis

G4ThreeVector G4CrystalUnitCell::theRecBasis[3]
protected

Definition at line 112 of file G4CrystalUnitCell.hh.

Referenced by G4CrystalUnitCell(), and GetRecBasis().

◆ theRecSize

G4ThreeVector G4CrystalUnitCell::theRecSize
protected

Definition at line 109 of file G4CrystalUnitCell.hh.

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

◆ theRecUnitBasis

G4ThreeVector G4CrystalUnitCell::theRecUnitBasis[3]
protected

Definition at line 111 of file G4CrystalUnitCell.hh.

Referenced by G4CrystalUnitCell(), and GetRecUnitBasis().

◆ theSize

G4ThreeVector G4CrystalUnitCell::theSize
protected

◆ theUnitBasis

G4ThreeVector G4CrystalUnitCell::theUnitBasis[3]
protected

Definition at line 95 of file G4CrystalUnitCell.hh.

Referenced by G4CrystalUnitCell(), and GetUnitBasis().


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