Geant4  10.02.p03
G4LatticePhysical Class Reference

#include <G4LatticePhysical.hh>

Collaboration diagram for G4LatticePhysical:

Public Member Functions

 G4LatticePhysical (const G4LatticeLogical *Lat=0, const G4RotationMatrix *Rot=0)
 
virtual ~G4LatticePhysical ()
 
void SetVerboseLevel (G4int vb)
 
G4double MapKtoV (G4int, G4ThreeVector) const
 
G4ThreeVector MapKtoVDir (G4int, G4ThreeVector) const
 
void SetLatticeLogical (const G4LatticeLogical *Lat)
 
void SetPhysicalOrientation (const G4RotationMatrix *Rot)
 
void SetLatticeOrientation (G4double, G4double)
 
void SetMillerOrientation (G4int, G4int, G4int)
 
const G4LatticeLogicalGetLattice () const
 
G4double GetScatteringConstant () const
 
G4double GetAnhDecConstant () const
 
G4double GetLDOS () const
 
G4double GetSTDOS () const
 
G4double GetFTDOS () const
 
G4double GetBeta () const
 
G4double GetGamma () const
 
G4double GetLambda () const
 
G4double GetMu () const
 
G4ThreeVector RotateToGlobal (const G4ThreeVector &dir) const
 
G4ThreeVector RotateToLocal (const G4ThreeVector &dir) const
 

Private Attributes

G4int verboseLevel
 
G4double fTheta
 
G4double fPhi
 
const G4LatticeLogicalfLattice
 
G4RotationMatrix fLocalToGlobal
 
G4RotationMatrix fGlobalToLocal
 

Detailed Description

Definition at line 42 of file G4LatticePhysical.hh.

Constructor & Destructor Documentation

◆ G4LatticePhysical()

G4LatticePhysical::G4LatticePhysical ( const G4LatticeLogical Lat = 0,
const G4RotationMatrix Rot = 0 
)

Definition at line 50 of file G4LatticePhysical.cc.

52  : verboseLevel(0), fTheta(0), fPhi(0), fLattice(Lat) {
54 }
const G4LatticeLogical * fLattice
void SetPhysicalOrientation(const G4RotationMatrix *Rot)
Here is the call graph for this function:

◆ ~G4LatticePhysical()

G4LatticePhysical::~G4LatticePhysical ( )
virtual

Definition at line 56 of file G4LatticePhysical.cc.

56 {;}

Member Function Documentation

◆ GetAnhDecConstant()

G4double G4LatticePhysical::GetAnhDecConstant ( ) const
inline

Definition at line 63 of file G4LatticePhysical.hh.

63 { return fLattice->GetAnhDecConstant(); }
const G4LatticeLogical * fLattice
G4double GetAnhDecConstant() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetBeta()

G4double G4LatticePhysical::GetBeta ( ) const
inline

Definition at line 67 of file G4LatticePhysical.hh.

67 { return fLattice->GetBeta(); }
const G4LatticeLogical * fLattice
G4double GetBeta() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFTDOS()

G4double G4LatticePhysical::GetFTDOS ( ) const
inline

Definition at line 66 of file G4LatticePhysical.hh.

66 { return fLattice->GetFTDOS(); }
const G4LatticeLogical * fLattice
G4double GetFTDOS() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetGamma()

G4double G4LatticePhysical::GetGamma ( ) const
inline

Definition at line 68 of file G4LatticePhysical.hh.

68 { return fLattice->GetGamma(); }
G4double GetGamma() const
const G4LatticeLogical * fLattice
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetLambda()

G4double G4LatticePhysical::GetLambda ( ) const
inline

Definition at line 69 of file G4LatticePhysical.hh.

69 { return fLattice->GetLambda(); }
const G4LatticeLogical * fLattice
G4double GetLambda() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetLattice()

const G4LatticeLogical* G4LatticePhysical::GetLattice ( ) const
inline

Definition at line 60 of file G4LatticePhysical.hh.

60 { return fLattice; }
const G4LatticeLogical * fLattice

◆ GetLDOS()

G4double G4LatticePhysical::GetLDOS ( ) const
inline

Definition at line 64 of file G4LatticePhysical.hh.

64 { return fLattice->GetLDOS(); }
const G4LatticeLogical * fLattice
G4double GetLDOS() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMu()

G4double G4LatticePhysical::GetMu ( ) const
inline

Definition at line 70 of file G4LatticePhysical.hh.

70 { return fLattice->GetMu(); }
const G4LatticeLogical * fLattice
G4double GetMu() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetScatteringConstant()

G4double G4LatticePhysical::GetScatteringConstant ( ) const
inline

Definition at line 62 of file G4LatticePhysical.hh.

62 { return fLattice->GetScatteringConstant(); }
G4double GetScatteringConstant() const
const G4LatticeLogical * fLattice
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetSTDOS()

G4double G4LatticePhysical::GetSTDOS ( ) const
inline

Definition at line 65 of file G4LatticePhysical.hh.

65 { return fLattice->GetSTDOS(); }
const G4LatticeLogical * fLattice
G4double GetSTDOS() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MapKtoV()

G4double G4LatticePhysical::MapKtoV ( G4int  polarizationState,
G4ThreeVector  k 
) const

Definition at line 105 of file G4LatticePhysical.cc.

106  {
107  if (verboseLevel>1) G4cout << "G4LatticePhysical::MapKtoV " << k << G4endl;
108 
109  k.rotate(yhat,fTheta).rotate(zhat, fPhi);
110  return fLattice->MapKtoV(polarizationState, k);
111 }
const G4LatticeLogical * fLattice
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
virtual G4double MapKtoV(G4int, const G4ThreeVector &) const
Hep3Vector & rotate(double, const Hep3Vector &)
Definition: ThreeVectorR.cc:28
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MapKtoVDir()

G4ThreeVector G4LatticePhysical::MapKtoVDir ( G4int  polarizationState,
G4ThreeVector  k 
) const

Definition at line 116 of file G4LatticePhysical.cc.

117  {
118  if (verboseLevel>1) G4cout << "G4LatticePhysical::MapKtoVDir " << k << G4endl;
119 
120  k.rotate(yhat,fTheta).rotate(zhat,fPhi);
121 
122  G4ThreeVector VG = fLattice->MapKtoVDir(polarizationState, k);
123 
124  return VG.rotate(zhat,-fPhi).rotate(yhat,-fTheta);
125 }
const G4LatticeLogical * fLattice
virtual G4ThreeVector MapKtoVDir(G4int, const G4ThreeVector &) const
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
Hep3Vector & rotate(double, const Hep3Vector &)
Definition: ThreeVectorR.cc:28
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RotateToGlobal()

G4ThreeVector G4LatticePhysical::RotateToGlobal ( const G4ThreeVector dir) const

Definition at line 132 of file G4LatticePhysical.cc.

132  {
133  if (verboseLevel>1) {
134  G4cout << "G4LatticePhysical::RotateToGlobal " << dir
135  << "\nusing fLocalToGlobal " << fLocalToGlobal
136  << G4endl;
137  }
138 
140  if (verboseLevel>1) G4cout << " result " << result << G4endl;
141 
142  return result;
143 }
TDirectory * dir
G4GLOB_DLL std::ostream G4cout
G4RotationMatrix fLocalToGlobal
#define G4endl
Definition: G4ios.hh:61
Here is the caller graph for this function:

◆ RotateToLocal()

G4ThreeVector G4LatticePhysical::RotateToLocal ( const G4ThreeVector dir) const

Definition at line 146 of file G4LatticePhysical.cc.

146  {
147  if (verboseLevel>1) {
148  G4cout << "G4LatticePhysical::RotateToLocal " << dir
149  << "\nusing fGlobalToLocal " << fGlobalToLocal
150  << G4endl;
151  }
152 
154  if (verboseLevel>1) G4cout << " result " << result << G4endl;
155 
156  return result;
157 }
G4RotationMatrix fGlobalToLocal
TDirectory * dir
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
Here is the caller graph for this function:

◆ SetLatticeLogical()

void G4LatticePhysical::SetLatticeLogical ( const G4LatticeLogical Lat)
inline

Definition at line 54 of file G4LatticePhysical.hh.

54 { fLattice = Lat; }
const G4LatticeLogical * fLattice
Here is the call graph for this function:

◆ SetLatticeOrientation()

void G4LatticePhysical::SetLatticeOrientation ( G4double  t_rot,
G4double  p_rot 
)

Definition at line 79 of file G4LatticePhysical.cc.

79  {
80  fTheta = t_rot;
81  fPhi = p_rot;
82 
83  if (verboseLevel)
84  G4cout << "G4LatticePhysical::SetLatticeOrientation " << fTheta << " "
85  << fPhi << G4endl;
86 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
Here is the caller graph for this function:

◆ SetMillerOrientation()

void G4LatticePhysical::SetMillerOrientation ( G4int  l,
G4int  k,
G4int  n 
)

Definition at line 90 of file G4LatticePhysical.cc.

90  {
91  fTheta = halfpi - std::atan2(n+0.000001,l+0.000001);
92  fPhi = halfpi - std::atan2(l+0.000001,k+0.000001);
93 
94  if (verboseLevel)
95  G4cout << "G4LatticePhysical::SetMillerOrientation(" << l << k << n
96  << ") : " << fTheta << " " << fPhi << G4endl;
97 }
static const double halfpi
Definition: G4SIunits.hh:76
Char_t n[5]
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
Here is the caller graph for this function:

◆ SetPhysicalOrientation()

void G4LatticePhysical::SetPhysicalOrientation ( const G4RotationMatrix Rot)

Definition at line 61 of file G4LatticePhysical.cc.

61  {
62  if (!Rot) { // No orientation specified
64  } else {
65  fLocalToGlobal = fGlobalToLocal = *Rot; // Frame rotation
67  }
68 
69  if (verboseLevel) {
70  G4cout << "G4LatticePhysical::SetPhysicalOrientation " << *Rot
71  << "\nfLocalToGlobal: " << fLocalToGlobal
72  << "\nfGlobalToLocal: " << fGlobalToLocal
73  << G4endl;
74  }
75 }
HepRotation & invert()
G4RotationMatrix fGlobalToLocal
static DLL_API const HepRotation IDENTITY
Definition: Rotation.h:369
G4GLOB_DLL std::ostream G4cout
G4RotationMatrix fLocalToGlobal
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetVerboseLevel()

void G4LatticePhysical::SetVerboseLevel ( G4int  vb)
inline

Definition at line 48 of file G4LatticePhysical.hh.

48 { verboseLevel = vb; }
Here is the call graph for this function:

Member Data Documentation

◆ fGlobalToLocal

G4RotationMatrix G4LatticePhysical::fGlobalToLocal
private

Definition at line 83 of file G4LatticePhysical.hh.

◆ fLattice

const G4LatticeLogical* G4LatticePhysical::fLattice
private

Definition at line 80 of file G4LatticePhysical.hh.

◆ fLocalToGlobal

G4RotationMatrix G4LatticePhysical::fLocalToGlobal
private

Definition at line 82 of file G4LatticePhysical.hh.

◆ fPhi

G4double G4LatticePhysical::fPhi
private

Definition at line 79 of file G4LatticePhysical.hh.

◆ fTheta

G4double G4LatticePhysical::fTheta
private

Definition at line 79 of file G4LatticePhysical.hh.

◆ verboseLevel

G4int G4LatticePhysical::verboseLevel
private

Definition at line 77 of file G4LatticePhysical.hh.


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