Geant4-11
Public Member Functions | Private Attributes
G4LatticePhysical Class Reference

#include <G4LatticePhysical.hh>

Public Member Functions

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

Private Attributes

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

Detailed Description

Definition at line 41 of file G4LatticePhysical.hh.

Constructor & Destructor Documentation

◆ G4LatticePhysical()

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

Definition at line 49 of file G4LatticePhysical.cc.

51 : verboseLevel(0), fTheta(0), fPhi(0), fLattice(Lat) {
53}
void SetPhysicalOrientation(const G4RotationMatrix *Rot)
const G4LatticeLogical * fLattice

References SetPhysicalOrientation().

◆ ~G4LatticePhysical()

G4LatticePhysical::~G4LatticePhysical ( )
virtual

Definition at line 55 of file G4LatticePhysical.cc.

55{;}

Member Function Documentation

◆ GetAnhDecConstant()

G4double G4LatticePhysical::GetAnhDecConstant ( ) const
inline

Definition at line 62 of file G4LatticePhysical.hh.

62{ return fLattice->GetAnhDecConstant(); }
G4double GetAnhDecConstant() const

References fLattice, and G4LatticeLogical::GetAnhDecConstant().

Referenced by G4PhononDownconversion::GetMeanFreePath().

◆ GetBeta()

G4double G4LatticePhysical::GetBeta ( ) const
inline

Definition at line 66 of file G4LatticePhysical.hh.

66{ return fLattice->GetBeta(); }
G4double GetBeta() const

References fLattice, and G4LatticeLogical::GetBeta().

Referenced by G4PhononDownconversion::PostStepDoIt().

◆ GetFTDOS()

G4double G4LatticePhysical::GetFTDOS ( ) const
inline

◆ GetGamma()

G4double G4LatticePhysical::GetGamma ( ) const
inline

Definition at line 67 of file G4LatticePhysical.hh.

67{ return fLattice->GetGamma(); }
G4double GetGamma() const

References fLattice, and G4LatticeLogical::GetGamma().

Referenced by G4PhononDownconversion::PostStepDoIt().

◆ GetLambda()

G4double G4LatticePhysical::GetLambda ( ) const
inline

Definition at line 68 of file G4LatticePhysical.hh.

68{ return fLattice->GetLambda(); }
G4double GetLambda() const

References fLattice, and G4LatticeLogical::GetLambda().

Referenced by G4PhononDownconversion::PostStepDoIt().

◆ GetLattice()

const G4LatticeLogical * G4LatticePhysical::GetLattice ( ) const
inline

Definition at line 59 of file G4LatticePhysical.hh.

59{ return fLattice; }

References fLattice.

◆ GetLDOS()

G4double G4LatticePhysical::GetLDOS ( ) const
inline

Definition at line 63 of file G4LatticePhysical.hh.

63{ return fLattice->GetLDOS(); }
G4double GetLDOS() const

References fLattice, and G4LatticeLogical::GetLDOS().

Referenced by G4PhononScattering::PostStepDoIt().

◆ GetMu()

G4double G4LatticePhysical::GetMu ( ) const
inline

Definition at line 69 of file G4LatticePhysical.hh.

69{ return fLattice->GetMu(); }
G4double GetMu() const

References fLattice, and G4LatticeLogical::GetMu().

Referenced by G4PhononDownconversion::PostStepDoIt().

◆ GetScatteringConstant()

G4double G4LatticePhysical::GetScatteringConstant ( ) const
inline

Definition at line 61 of file G4LatticePhysical.hh.

G4double GetScatteringConstant() const

References fLattice, and G4LatticeLogical::GetScatteringConstant().

Referenced by G4PhononScattering::GetMeanFreePath().

◆ GetSTDOS()

G4double G4LatticePhysical::GetSTDOS ( ) const
inline

◆ MapKtoV()

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

Definition at line 104 of file G4LatticePhysical.cc.

105 {
106 if (verboseLevel>1) G4cout << "G4LatticePhysical::MapKtoV " << k << G4endl;
107
109 return fLattice->MapKtoV(polarizationState, k);
110}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
Hep3Vector & rotate(double, const Hep3Vector &)
Definition: ThreeVectorR.cc:24
virtual G4double MapKtoV(G4int, const G4ThreeVector &) const

References fLattice, fPhi, fTheta, G4cout, G4endl, G4LatticeLogical::MapKtoV(), CLHEP::Hep3Vector::rotate(), verboseLevel, anonymous_namespace{G4LatticePhysical.cc}::yhat, and anonymous_namespace{G4LatticePhysical.cc}::zhat.

Referenced by G4VPhononProcess::CreateSecondary(), G4LatticeManager::MapKtoV(), and G4PhononReflection::PostStepDoIt().

◆ MapKtoVDir()

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

Definition at line 115 of file G4LatticePhysical.cc.

116 {
117 if (verboseLevel>1) G4cout << "G4LatticePhysical::MapKtoVDir " << k << G4endl;
118
120
121 G4ThreeVector VG = fLattice->MapKtoVDir(polarizationState, k);
122
123 return VG.rotate(zhat,-fPhi).rotate(yhat,-fTheta);
124}
virtual G4ThreeVector MapKtoVDir(G4int, const G4ThreeVector &) const

References fLattice, fPhi, fTheta, G4cout, G4endl, G4LatticeLogical::MapKtoVDir(), CLHEP::Hep3Vector::rotate(), verboseLevel, anonymous_namespace{G4LatticePhysical.cc}::yhat, and anonymous_namespace{G4LatticePhysical.cc}::zhat.

Referenced by G4VPhononProcess::CreateSecondary(), and G4LatticeManager::MapKtoVDir().

◆ RotateToGlobal()

G4ThreeVector G4LatticePhysical::RotateToGlobal ( const G4ThreeVector dir) const

Definition at line 131 of file G4LatticePhysical.cc.

131 {
132 if (verboseLevel>1) {
133 G4cout << "G4LatticePhysical::RotateToGlobal " << dir
134 << "\nusing fLocalToGlobal " << fLocalToGlobal
135 << G4endl;
136 }
137
138 G4ThreeVector result = fLocalToGlobal*dir;
139 if (verboseLevel>1) G4cout << " result " << result << G4endl;
140
141 return result;
142}
G4RotationMatrix fLocalToGlobal

References fLocalToGlobal, G4cout, G4endl, and verboseLevel.

Referenced by G4VPhononProcess::CreateSecondary().

◆ RotateToLocal()

G4ThreeVector G4LatticePhysical::RotateToLocal ( const G4ThreeVector dir) const

Definition at line 145 of file G4LatticePhysical.cc.

145 {
146 if (verboseLevel>1) {
147 G4cout << "G4LatticePhysical::RotateToLocal " << dir
148 << "\nusing fGlobalToLocal " << fGlobalToLocal
149 << G4endl;
150 }
151
152 G4ThreeVector result = fGlobalToLocal*dir;
153 if (verboseLevel>1) G4cout << " result " << result << G4endl;
154
155 return result;
156}
G4RotationMatrix fGlobalToLocal

References fGlobalToLocal, G4cout, G4endl, and verboseLevel.

◆ SetLatticeLogical()

void G4LatticePhysical::SetLatticeLogical ( const G4LatticeLogical Lat)
inline

Definition at line 53 of file G4LatticePhysical.hh.

53{ fLattice = Lat; }

References fLattice.

◆ SetLatticeOrientation()

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

Definition at line 78 of file G4LatticePhysical.cc.

78 {
79 fTheta = t_rot;
80 fPhi = p_rot;
81
82 if (verboseLevel)
83 G4cout << "G4LatticePhysical::SetLatticeOrientation " << fTheta << " "
84 << fPhi << G4endl;
85}

References fPhi, fTheta, G4cout, G4endl, and verboseLevel.

◆ SetMillerOrientation()

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

Definition at line 89 of file G4LatticePhysical.cc.

89 {
90 fTheta = halfpi - std::atan2(n+0.000001,l+0.000001);
91 fPhi = halfpi - std::atan2(l+0.000001,k+0.000001);
92
93 if (verboseLevel)
94 G4cout << "G4LatticePhysical::SetMillerOrientation(" << l << k << n
95 << ") : " << fTheta << " " << fPhi << G4endl;
96}
static constexpr double halfpi
Definition: G4SIunits.hh:57

References fPhi, fTheta, G4cout, G4endl, halfpi, CLHEP::detail::n, and verboseLevel.

◆ SetPhysicalOrientation()

void G4LatticePhysical::SetPhysicalOrientation ( const G4RotationMatrix Rot)

Definition at line 60 of file G4LatticePhysical.cc.

60 {
61 if (!Rot) { // No orientation specified
63 } else {
64 fLocalToGlobal = fGlobalToLocal = *Rot; // Frame rotation
66 }
67
68 if (verboseLevel) {
69 G4cout << "G4LatticePhysical::SetPhysicalOrientation " << *Rot
70 << "\nfLocalToGlobal: " << fLocalToGlobal
71 << "\nfGlobalToLocal: " << fGlobalToLocal
72 << G4endl;
73 }
74}
static DLL_API const HepRotation IDENTITY
Definition: Rotation.h:366
HepRotation & invert()

References fGlobalToLocal, fLocalToGlobal, G4cout, G4endl, CLHEP::HepRotation::IDENTITY, CLHEP::HepRotation::invert(), and verboseLevel.

Referenced by G4LatticePhysical().

◆ SetVerboseLevel()

void G4LatticePhysical::SetVerboseLevel ( G4int  vb)
inline

Definition at line 47 of file G4LatticePhysical.hh.

47{ verboseLevel = vb; }

References verboseLevel.

Field Documentation

◆ fGlobalToLocal

G4RotationMatrix G4LatticePhysical::fGlobalToLocal
private

Definition at line 82 of file G4LatticePhysical.hh.

Referenced by RotateToLocal(), and SetPhysicalOrientation().

◆ fLattice

const G4LatticeLogical* G4LatticePhysical::fLattice
private

◆ fLocalToGlobal

G4RotationMatrix G4LatticePhysical::fLocalToGlobal
private

Definition at line 81 of file G4LatticePhysical.hh.

Referenced by RotateToGlobal(), and SetPhysicalOrientation().

◆ fPhi

G4double G4LatticePhysical::fPhi
private

◆ fTheta

G4double G4LatticePhysical::fTheta
private

◆ verboseLevel

G4int G4LatticePhysical::verboseLevel
private

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