Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4CrystalUnitCell Class Reference

#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]
 

Detailed Description

Definition 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.

44  :
45 theSpaceGroup(spacegroup),
46 theSize(G4ThreeVector(sizeA,sizeB,sizeC)),
47 theAngle(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 }
DLL_API const Hep3Vector HepZHat
CLHEP::Hep3Vector G4ThreeVector
G4ThreeVector theRecAngle
G4ThreeVector theSize
G4ThreeVector theRecBasis[3]
G4ThreeVector theRecSize
G4double ComputeCellVolume()
G4ThreeVector nullVec
Hep3Vector & rotateZ(double)
Definition: ThreeVector.cc:110
G4ThreeVector theUnitBasis[3]
theLatticeSystemType GetLatticeSystem()
DLL_API const Hep3Vector HepYHat
static constexpr double deg
DLL_API const Hep3Vector HepXHat
Hep3Vector unit() const
G4ThreeVector theAngle
G4ThreeVector theBasis[3]
static constexpr double halfpi
Definition: SystemOfUnits.h:56
Hep3Vector & rotateX(double)
Definition: ThreeVector.cc:90
G4ThreeVector theRecUnitBasis[3]
double G4double
Definition: G4Types.hh:76
static const G4double alpha

Here is the call graph for this function:

G4CrystalUnitCell::~G4CrystalUnitCell ( )
virtual

Definition at line 145 of file G4CrystalUnitCell.cc.

145 {;}

Member Function Documentation

G4double G4CrystalUnitCell::ComputeCellVolume ( )

Definition at line 386 of file G4CrystalUnitCell.cc.

386  {
387  G4double a = theSize[0], b = theSize[1], c = theSize[2];
388 
389  switch(GetLatticeSystem())
390  {
391  case Amorphous:
392  return 0.;
393  break;
394  case Cubic:
395  return a * a * a;
396  break;
397  case Tetragonal:
398  return a * a * c;
399  break;
400  case Orthorhombic:
401  return a * b * c;
402  break;
403  case Rhombohedral:
404  return a*a*a*std::sqrt(1.-3.*cosa*cosa+2.*cosa*cosa*cosa);
405  break;
406  case Monoclinic:
407  return a*b*c*sinb;
408  break;
409  case Triclinic:
410  return a*b*c*std::sqrt(1.-cosa*cosa-cosb*cosb-cosg*cosg*2.*cosa*cosb*cosg);
411  break;
412  case Hexagonal:
413  return std::sqrt(3.0)/2.*a*a*c;
414  break;
415  default:
416  break;
417  }
418 
419  return 0.;
420 }
G4ThreeVector theSize
theLatticeSystemType GetLatticeSystem()
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

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.

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 }
G4ThreeVector theSize
G4bool FillAtomicUnitPos(G4ThreeVector &pos, std::vector< G4ThreeVector > &vecout)

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.

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

Here is the caller graph for this function:

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 }
theLatticeSystemType GetLatticeSystem()

Here is the call graph for this function:

G4ThreeVector G4CrystalUnitCell::GetAngle ( ) const
inline

Definition at line 102 of file G4CrystalUnitCell.hh.

102 {return theAngle;}
G4ThreeVector theAngle
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 }
G4ThreeVector nullVec
G4ThreeVector theBasis[3]

Here is the caller graph for this function:

theBravaisLatticeType G4CrystalUnitCell::GetBravaisLattice ( )
inline

Definition at line 74 of file G4CrystalUnitCell.hh.

74  {
75  return GetBravaisLattice(theSpaceGroup);
76  }
theBravaisLatticeType GetBravaisLattice()
G4double G4CrystalUnitCell::GetIntCosAng ( G4int  h1,
G4int  k1,
G4int  l1,
G4int  h2,
G4int  k2,
G4int  l2 
)

Definition at line 550 of file G4CrystalUnitCell.cc.

555  {
556 
557  /* Reference:
558  Table 2.4, pag. 65
559 
560  @Inbook{Kelly2012,
561  author="Anthony A. Kelly and Kevin M. Knowles",
562  title="Appendix 3 Interplanar Spacings and Interplanar Angles",
563  bookTitle="Crystallography and Crystal Defects, 2nd Edition",
564  year="2012",
565  publisher="John Wiley & Sons, Ltd.",
566  isbn="978-0-470-75014-8",
567  doi="10.1002/9781119961468",
568  url="http://onlinelibrary.wiley.com/book/10.1002/9781119961468"
569  }
570  */
571 
572  G4double a = theRecSize[0], b = theRecSize[1], c = theRecSize[2];
573  G4double a2 = a*a, b2 = b*b, c2 = c*c;
574  G4double dsp1dsp2;
575  switch(GetLatticeSystem())
576  {
577  case Amorphous:
578  return 0.;
579  break;
580  case Cubic:
581  return (h1*h2 + k1*k2 + l1+l2) / (std::sqrt(h1*h1 + k1*k1 + l1*l1) * std::sqrt(h2*h2 + k2*k2 + l2*l2));
582  break;
583  case Tetragonal:
584  dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
585  return 0. ;
586  break;
587  case Orthorhombic:
588  dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
589  return dsp1dsp2 * (h1*h2*a2 + k1*k2*a2 + l1*l2*c2);
590  break;
591  case Rhombohedral:
592  dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
593  return dsp1dsp2 * (h1*h2*a2 + k1*k2*b2 + l1*l2*c2+
594  (k1*l2+k2*l1)*b*c*cosar+
595  (h1*l2+h2*l1)*a*c*cosbr+
596  (h1*k2+h2*k1)*a*b*cosgr);
597  break;
598  case Monoclinic:
599  dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
600  return dsp1dsp2 * (h1*h2*a2 + k1*k2*b2 + l1*l2*c2+
601  (k1*l2+k2*l1)*b*c*cosar+
602  (h1*l2+h2*l1)*a*c*cosbr+
603  (h1*k2+h2*k1)*a*b*cosgr);
604  break;
605  case Triclinic:
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 Hexagonal:
613  dsp1dsp2 = std::sqrt(GetIntSp2(h1,k1,l1)*GetIntSp2(h2,k2,l2));
614  return dsp1dsp2 *( (h1*h2 + k1*k2 + 0.5*(h1*k2+k1*h2))*a2 + l1*l2*c2);
615  break;
616  default:
617  break;
618  }
619 
620  return 0.;
621 }
G4double GetIntSp2(G4int h, G4int k, G4int l)
G4ThreeVector theRecSize
theLatticeSystemType GetLatticeSystem()
double G4double
Definition: G4Types.hh:76

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.

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

Here is the call graph for this function:

Here is the caller graph for this function:

theLatticeSystemType G4CrystalUnitCell::GetLatticeSystem ( )
inline

Definition at line 71 of file G4CrystalUnitCell.hh.

71  {
72  return GetLatticeSystem(theSpaceGroup);
73  }
theLatticeSystemType GetLatticeSystem()

Here is the caller graph for this function:

G4ThreeVector G4CrystalUnitCell::GetRecAngle ( ) const
inline

Definition at line 118 of file G4CrystalUnitCell.hh.

118 {return theRecAngle;}
G4ThreeVector theRecAngle
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 }
G4ThreeVector theRecBasis[3]
G4ThreeVector nullVec
G4double G4CrystalUnitCell::GetRecIntSp2 ( G4int  h,
G4int  k,
G4int  l 
)

Definition at line 491 of file G4CrystalUnitCell.cc.

493  {
494  /* Reference:
495  Table 2.4, pag. 65
496 
497  @Inbook{Ladd2003,
498  author="Ladd, Mark and Palmer, Rex",
499  title="Lattices and Space-Group Theory",
500  bookTitle="Structure Determination by X-ray Crystallography",
501  year="2003",
502  publisher="Springer US",
503  address="Boston, MA",
504  pages="51--116",
505  isbn="978-1-4615-0101-5",
506  doi="10.1007/978-1-4615-0101-5_2",
507  url="http://dx.doi.org/10.1007/978-1-4615-0101-5_2"
508  }
509  */
510 
511  G4double a = theRecSize[0], b = theRecSize[1], c = theRecSize[2];
512  G4double a2 = a*a, b2 = b*b, c2 = c*c;
513  G4double h2 = h*h, k2 = k*k, l2 = l*l;
514 
515  switch(GetLatticeSystem())
516  {
517  case Amorphous:
518  return 0.;
519  break;
520  case Cubic:
521  return a2 * (h2+k2+l2);
522  break;
523  case Tetragonal:
524  return (h2+k2)*a2 + l2*c2 ;
525  break;
526  case Orthorhombic:
527  return h2*a2 + k2+b2 + h2*c2;
528  break;
529  case Rhombohedral:
530  return (h2+k2+l2+2.*(h*k+k*l+h*l) * cosar)*a2;
531  break;
532  case Monoclinic:
533  return h2*a2+k2*b2+l2*c2+2.*h*l*a*c*cosbr;
534  break;
535  case Triclinic:
536  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;
537  break;
538  case Hexagonal:
539  return (h2+k2+h*k)*a2 + l2*c2;
540  break;
541  default:
542  break;
543  }
544 
545  return 0.;
546 }
G4ThreeVector theRecSize
theLatticeSystemType GetLatticeSystem()
double G4double
Definition: G4Types.hh:76

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.

117 {return theRecSize;}
G4ThreeVector theRecSize
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 }
G4ThreeVector nullVec
G4ThreeVector theRecUnitBasis[3]
G4double G4CrystalUnitCell::GetRecVolume ( ) const
inline

Definition at line 152 of file G4CrystalUnitCell.hh.

152 {return theRecVolume;} //get the stored volume
G4ThreeVector G4CrystalUnitCell::GetSize ( ) const
inline

Definition at line 101 of file G4CrystalUnitCell.hh.

101 {return theSize;}
G4ThreeVector theSize
G4int G4CrystalUnitCell::GetSpaceGroup ( ) const
inline

Definition at line 63 of file G4CrystalUnitCell.hh.

63 {return theSpaceGroup;};
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 }
G4ThreeVector nullVec
G4ThreeVector theUnitBasis[3]
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 }
CLHEP::Hep3Vector G4ThreeVector
Hep3Vector unit() const
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

G4double G4CrystalUnitCell::GetVolume ( ) const
inline

Definition at line 151 of file G4CrystalUnitCell.hh.

151 {return theVolume;} //get the stored volume
void G4CrystalUnitCell::SetSpaceGroup ( G4int  aInt)
inline

Definition at line 64 of file G4CrystalUnitCell.hh.

64 {theSpaceGroup=aInt;};

Member Data Documentation

G4ThreeVector G4CrystalUnitCell::nullVec
protected

Definition at line 91 of file G4CrystalUnitCell.hh.

G4ThreeVector G4CrystalUnitCell::theAngle
protected

Definition at line 94 of file G4CrystalUnitCell.hh.

G4ThreeVector G4CrystalUnitCell::theBasis[3]
protected

Definition at line 96 of file G4CrystalUnitCell.hh.

G4ThreeVector G4CrystalUnitCell::theRecAngle
protected

Definition at line 110 of file G4CrystalUnitCell.hh.

G4ThreeVector G4CrystalUnitCell::theRecBasis[3]
protected

Definition at line 112 of file G4CrystalUnitCell.hh.

G4ThreeVector G4CrystalUnitCell::theRecSize
protected

Definition at line 109 of file G4CrystalUnitCell.hh.

G4ThreeVector G4CrystalUnitCell::theRecUnitBasis[3]
protected

Definition at line 111 of file G4CrystalUnitCell.hh.

G4ThreeVector G4CrystalUnitCell::theSize
protected

Definition at line 93 of file G4CrystalUnitCell.hh.

G4ThreeVector G4CrystalUnitCell::theUnitBasis[3]
protected

Definition at line 95 of file G4CrystalUnitCell.hh.


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