#include <G4LatticeLogical.hh>
|
| G4LatticeLogical () |
|
virtual | ~G4LatticeLogical () |
|
void | SetVerboseLevel (G4int vb) |
|
G4bool | LoadMap (G4int, G4int, G4int, G4String) |
|
G4bool | Load_NMap (G4int, G4int, G4int, G4String) |
|
virtual G4double | MapKtoV (G4int, const G4ThreeVector &) const |
|
virtual G4ThreeVector | MapKtoVDir (G4int, const G4ThreeVector &) const |
|
void | Dump (std::ostream &os) const |
|
void | DumpMap (std::ostream &os, G4int pol, const G4String &name) const |
|
void | Dump_NMap (std::ostream &os, G4int pol, const G4String &name) const |
|
void | SetDynamicalConstants (G4double Beta, G4double Gamma, G4double Lambda, G4double Mu) |
|
void | SetScatteringConstant (G4double b) |
|
void | SetAnhDecConstant (G4double a) |
|
void | SetLDOS (G4double LDOS) |
|
void | SetSTDOS (G4double STDOS) |
|
void | SetFTDOS (G4double FTDOS) |
|
G4double | GetBeta () const |
|
G4double | GetGamma () const |
|
G4double | GetLambda () const |
|
G4double | GetMu () const |
|
G4double | GetScatteringConstant () const |
|
G4double | GetAnhDecConstant () const |
|
G4double | GetLDOS () const |
|
G4double | GetSTDOS () const |
|
G4double | GetFTDOS () const |
|
Definition at line 41 of file G4LatticeLogical.hh.
◆ anonymous enum
◆ G4LatticeLogical()
G4LatticeLogical::G4LatticeLogical |
( |
| ) |
|
Definition at line 39 of file G4LatticeLogical.cc.
40 : verboseLevel(0), fVresTheta(0), fVresPhi(0), fDresTheta(0), fDresPhi(0),
41 fA(0), fB(0), fLDOS(0), fSTDOS(0), fFTDOS(0),
42 fBeta(0), fGamma(0), fLambda(0), fMu(0) {
43 for (
G4int i=0; i<3; i++) {
46 fMap[i][j][k] = 0.;
47 fN_map[i][j][k].
set(0.,0.,0.);
48 }
49 }
50 }
51}
void set(double x, double y, double z)
◆ ~G4LatticeLogical()
G4LatticeLogical::~G4LatticeLogical |
( |
| ) |
|
|
virtual |
◆ Dump()
void G4LatticeLogical::Dump |
( |
std::ostream & |
os | ) |
const |
Definition at line 221 of file G4LatticeLogical.cc.
221 {
222 os << "dyn " << fBeta << " " << fGamma << " " << fLambda << " " << fMu
223 << "\nscat " << fB << " decay " << fA
224 << "\nLDOS " << fLDOS << " STDOS " << fSTDOS << " FTDOS " << fFTDOS
225 << std::endl;
226
230
234}
void DumpMap(std::ostream &os, G4int pol, const G4String &name) const
void Dump_NMap(std::ostream &os, G4int pol, const G4String &name) const
Referenced by operator<<().
◆ Dump_NMap()
void G4LatticeLogical::Dump_NMap |
( |
std::ostream & |
os, |
|
|
G4int |
pol, |
|
|
const G4String & |
name |
|
) |
| const |
Definition at line 248 of file G4LatticeLogical.cc.
249 {
250 os <<
"VDir " <<
name <<
" " << (pol==0?
"L":pol==1?
"FT":pol==2?
"ST":
"??")
251 << " " << fDresTheta << " " << fDresPhi << std::endl;
252
253 for (
G4int iTheta=0; iTheta<fDresTheta; iTheta++) {
254 for (
G4int iPhi=0; iPhi<fDresPhi; iPhi++) {
255 os << fN_map[pol][iTheta][iPhi].
x()
256 <<
" " << fN_map[pol][iTheta][iPhi].
y()
257 <<
" " << fN_map[pol][iTheta][iPhi].
z()
258 << std::endl;
259 }
260 }
261}
const char * name(G4int ptype)
Referenced by Dump().
◆ DumpMap()
void G4LatticeLogical::DumpMap |
( |
std::ostream & |
os, |
|
|
G4int |
pol, |
|
|
const G4String & |
name |
|
) |
| const |
Definition at line 236 of file G4LatticeLogical.cc.
237 {
238 os <<
"VG " <<
name <<
" " << (pol==0?
"L":pol==1?
"FT":pol==2?
"ST":
"??")
239 << " " << fVresTheta << " " << fVresPhi << std::endl;
240
241 for (
G4int iTheta=0; iTheta<fVresTheta; iTheta++) {
242 for (
G4int iPhi=0; iPhi<fVresPhi; iPhi++) {
243 os << fMap[pol][iTheta][iPhi] << std::endl;
244 }
245 }
246}
Referenced by Dump().
◆ GetAnhDecConstant()
G4double G4LatticeLogical::GetAnhDecConstant |
( |
| ) |
const |
|
inline |
◆ GetBeta()
G4double G4LatticeLogical::GetBeta |
( |
| ) |
const |
|
inline |
◆ GetFTDOS()
G4double G4LatticeLogical::GetFTDOS |
( |
| ) |
const |
|
inline |
◆ GetGamma()
G4double G4LatticeLogical::GetGamma |
( |
| ) |
const |
|
inline |
◆ GetLambda()
G4double G4LatticeLogical::GetLambda |
( |
| ) |
const |
|
inline |
◆ GetLDOS()
G4double G4LatticeLogical::GetLDOS |
( |
| ) |
const |
|
inline |
◆ GetMu()
G4double G4LatticeLogical::GetMu |
( |
| ) |
const |
|
inline |
◆ GetScatteringConstant()
G4double G4LatticeLogical::GetScatteringConstant |
( |
| ) |
const |
|
inline |
◆ GetSTDOS()
G4double G4LatticeLogical::GetSTDOS |
( |
| ) |
const |
|
inline |
◆ Load_NMap()
Definition at line 101 of file G4LatticeLogical.cc.
102 {
104 G4cerr <<
"G4LatticeLogical::LoadMap exceeds maximum resolution of "
106 return false;
107 }
108
109 std::ifstream fMapFile(map.data());
110 if(!fMapFile.is_open())
111 {
112 return false;
113 }
114
117 for (
G4int theta = 0; theta<tRes; theta++) {
118 for (
G4int phi = 0; phi<pRes; phi++) {
119 fMapFile >> x >> y >> z;
121 fN_map[polarizationState][theta][phi] = dir.
unit();
122 }
123 }
124
125 if(verboseLevel != 0)
126 {
127 G4cout <<
"\nG4LatticeLogical::Load_NMap(" << map <<
") successful"
128 << " (Vdir " << tRes << " x " << pRes << " for polarization "
129 << polarizationState <<
")." <<
G4endl;
130 }
131
132 fDresTheta=tRes;
133 fDresPhi=pRes;
134 return true;
135}
G4GLOB_DLL std::ostream G4cerr
G4GLOB_DLL std::ostream G4cout
Referenced by G4LatticeReader::ProcessNMap().
◆ LoadMap()
Definition at line 61 of file G4LatticeLogical.cc.
62 {
64 G4cerr <<
"G4LatticeLogical::LoadMap exceeds maximum resolution of "
66 return false;
67 }
68
69 std::ifstream fMapFile(map.data());
70 if(!fMapFile.is_open())
71 {
72 return false;
73 }
74
76 for (
G4int theta = 0; theta<tRes; theta++) {
77 for (
G4int phi = 0; phi<pRes; phi++) {
78 fMapFile >> vgrp;
79 fMap[polarizationState][theta][phi] = vgrp * (m/s);
80 }
81 }
82
83 if(verboseLevel != 0)
84 {
85 G4cout <<
"\nG4LatticeLogical::LoadMap(" << map <<
") successful"
86 << " (Vg scalars " << tRes << " x " << pRes << " for polarization "
87 << polarizationState <<
")." <<
G4endl;
88 }
89
90 fVresTheta=tRes;
91 fVresPhi=pRes;
92 return true;
93}
Referenced by G4LatticeReader::ProcessMap().
◆ MapKtoV()
Definition at line 143 of file G4LatticeLogical.cc.
144 {
146
148 pRes=twopi/fVresPhi;
149
152
153 if(phi < 0)
154 {
155 phi = phi + twopi;
156 }
157 if(theta > pi)
158 {
160 }
161
162 G4double Vg = fMap[polarizationState][int(theta/tRes)][int(phi/pRes)];
163
164 if(Vg == 0){
165 G4cout<<
"\nFound v=0 for polarization "<<polarizationState
166 <<" theta "<<theta<<" phi "<<phi<< " translating to map coords "
167 <<
"theta "<< int(theta/tRes) <<
" phi " << int(phi/pRes)<<
G4endl;
168 }
169
170 if (verboseLevel>1) {
171 G4cout <<
"G4LatticeLogical::MapKtoV theta,phi=" << theta <<
" " << phi
172 << " : ith,iph " << int(theta/tRes) << " " << int(phi/pRes)
173 <<
" : V " << Vg <<
G4endl;
174 }
175
176 return Vg;
177}
Referenced by G4LatticePhysical::MapKtoV().
◆ MapKtoVDir()
Definition at line 185 of file G4LatticeLogical.cc.
186 {
188
189 tRes=
pi/(fDresTheta-1);
190 pRes=2*
pi/(fDresPhi-1);
191
194
195 if(theta > pi)
196 {
198 }
199
200 if(phi < 0)
201 {
203 }
204
205 G4int iTheta = int(theta/tRes+0.5);
206 G4int iPhi = int(phi/pRes+0.5);
207
208 if (verboseLevel>1) {
209 G4cout <<
"G4LatticeLogical::MapKtoVDir theta,phi=" << theta <<
" " << phi
210 << " : ith,iph " << iTheta << " " << iPhi
211 <<
" : dir " << fN_map[polarizationState][iTheta][iPhi] <<
G4endl;
212 }
213
214 return fN_map[polarizationState][iTheta][iPhi];
215}
Referenced by G4LatticePhysical::MapKtoVDir().
◆ SetAnhDecConstant()
void G4LatticeLogical::SetAnhDecConstant |
( |
G4double |
a | ) |
|
|
inline |
◆ SetDynamicalConstants()
◆ SetFTDOS()
void G4LatticeLogical::SetFTDOS |
( |
G4double |
FTDOS | ) |
|
|
inline |
◆ SetLDOS()
void G4LatticeLogical::SetLDOS |
( |
G4double |
LDOS | ) |
|
|
inline |
◆ SetScatteringConstant()
void G4LatticeLogical::SetScatteringConstant |
( |
G4double |
b | ) |
|
|
inline |
◆ SetSTDOS()
void G4LatticeLogical::SetSTDOS |
( |
G4double |
STDOS | ) |
|
|
inline |
◆ SetVerboseLevel()
void G4LatticeLogical::SetVerboseLevel |
( |
G4int |
vb | ) |
|
|
inline |
The documentation for this class was generated from the following files: