Geant4
10.03.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
XLogicalLattice.hh
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
28
//
29
30
#ifndef XLogicalLattice_h
31
#define XLogicalLattice_h
32
33
#define MAXRES 322 //maximum one dimensional map resolution
34
35
#include <iostream>
36
#include <fstream>
37
#include <string>
38
#include "
G4ThreeVector.hh
"
39
40
41
using namespace
std;
42
43
class
XLogicalLattice
{
44
45
private
:
46
47
int
fVresTheta;
//velocity map theta resolution (inclination)
48
int
fVresPhi;
//velocity map phi resolution (azimuth)
49
int
fDresTheta;
//direction map theta resn
50
int
fDresPhi;
//direction map phi resn
51
52
double
fMap[3][
MAXRES
][
MAXRES
];
//map for group velocity scalars
53
double
fN_map[3][
MAXRES
][
MAXRES
][3];
54
//normalized map containing group V direction unit vectors
55
56
double
fA;
//Scaling constant for Anh.Dec. mean free path
57
double
fB;
//Scaling constant for Iso.Scat. mean free path
58
double
fDosL;
//Density of states for L-phonons
59
double
fDosST;
//Density of states for ST-phonons
60
double
fDosFT;
//Density of states for FT-phonons
61
double
fBeta, fGamma, fLambda, fMu;
//dynamical constants for material
62
63
64
ifstream fMapFile;
65
int
fThetaRes, fPhiRes;
66
67
public
:
68
69
70
71
XLogicalLattice
();
72
~
XLogicalLattice
();
73
74
void
SetDynamicalConstants(
double
,
double
,
double
,
double
);
75
void
SetScatteringConstant(
G4double
);
76
void
SetAnhDecConstant(
G4double
);
77
void
SetLDOS(
double
);
78
void
SetSTDOS(
double
);
79
void
SetFTDOS(
double
);
80
81
82
83
double
GetBeta();
84
double
GetGamma();
85
double
GetLambda();
86
double
GetMu();
87
G4double
GetScatteringConstant();
88
G4double
GetAnhDecConstant();
89
double
GetLDOS();
90
double
GetSTDOS();
91
double
GetFTDOS();
92
93
94
bool
LoadMap(
int
,
int
,
int
,
string
);
95
bool
Load_NMap(
int
,
int
,
int
,
string
);
96
double
MapKtoV(
int
,
G4ThreeVector
);
//Get full group velocity vector
97
G4ThreeVector
MapKtoVDir(
int
,
G4ThreeVector
);
98
//Get normalized group velocity direction so that normalisatioon
99
//does not have to be done at run time
100
101
};
102
103
#endif
CLHEP::Hep3Vector
Definition:
ThreeVector.h:41
MAXRES
#define MAXRES
Definition:
XLogicalLattice.hh:33
G4double
double G4double
Definition:
G4Types.hh:76
G4ThreeVector.hh
XLogicalLattice
Definition:
XLogicalLattice.hh:43
source
geant4.10.03.p02
examples
extended
exoticphysics
channeling
include
XLogicalLattice.hh
Generated on Tue Nov 28 2017 21:43:13 for Geant4 by
1.8.5