Geant4
11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ChannelingTrackData.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
//
26
//
27
//
28
// --------------------------------------------------------------------
29
// GEANT 4 class header file
30
//
31
// Class Description:
32
// Extends G4Track properties with information needed for the
33
// channeling biasing operator.
34
//
35
// ------------------ G4ChannelingTrackData ------------------
36
//
37
// Author: M.Verderi (LLR), E. Bagli (INFN) April 2016
38
//
39
// --------------------------------------------------------------------
40
41
#ifndef G4ChannelingTrackData_hh
42
#define G4ChannelingTrackData_hh
43
44
class
G4Channeling
;
45
#include "
G4VAuxiliaryTrackInformation.hh
"
46
#include "
G4ThreeVector.hh
"
47
48
class
G4ChannelingTrackData
:
public
G4VAuxiliaryTrackInformation
{
49
friend
class
G4Channeling
;
50
51
public
:
52
G4ChannelingTrackData
();
53
~G4ChannelingTrackData
();
54
55
void
Print
()
const
;
56
57
private
:
58
const
G4Channeling
* fChannelingProcess;
59
60
public
:
61
void
Reset
(){
62
fChannelingProcess =
nullptr
;
63
fNuD = fElD = 1.;
64
fPosCh = fMomCh = fDBL;
65
}
66
67
public
:
68
G4double
GetDensity
() {
return
(fNuD + fElD) * 0.5;}
69
70
void
SetNuD
(
G4double
aDouble) {fNuD = aDouble;};
71
G4double
GetNuD
() {
return
fNuD;};
72
73
void
SetElD
(
G4double
aDouble) {fElD = aDouble;};
74
G4double
GetElD
() {
return
fElD;};
75
76
void
SetEFX
(
G4double
aDouble) {fEFX = aDouble;};
77
G4double
GetEFX
() {
return
fEFX;};
78
79
void
SetEFY
(
G4double
aDouble) {fEFY = aDouble;};
80
G4double
GetEFY
() {
return
fEFY;};
81
82
G4ThreeVector
GetMomCh
() {
return
fMomCh;}
83
void
SetMomCh
(
G4ThreeVector
a3vec) {fMomCh = a3vec;}
84
85
G4ThreeVector
GetPosCh
() {
return
fPosCh;}
86
void
SetPosCh
(
G4ThreeVector
a3vec) {fPosCh = a3vec;}
87
88
private
:
89
// ----------
90
// DBL_MAX vector for reset
91
// ----------
92
G4ThreeVector
fDBL;
93
94
// ----------
95
// Positiona and momentum in the crystal reference frame
96
// ----------
97
G4ThreeVector
fMomCh;
98
G4ThreeVector
fPosCh;
99
100
G4double
fNuD;
101
G4double
fElD;
102
103
G4double
fEFX;
104
G4double
fEFY;
105
};
106
107
#endif
G4ThreeVector.hh
G4double
double G4double
Definition
G4Types.hh:83
G4VAuxiliaryTrackInformation.hh
CLHEP::Hep3Vector
Definition
ThreeVector.h:36
G4ChannelingTrackData
Definition
G4ChannelingTrackData.hh:48
G4ChannelingTrackData::GetMomCh
G4ThreeVector GetMomCh()
Definition
G4ChannelingTrackData.hh:82
G4ChannelingTrackData::~G4ChannelingTrackData
~G4ChannelingTrackData()
Definition
G4ChannelingTrackData.cc:43
G4ChannelingTrackData::GetNuD
G4double GetNuD()
Definition
G4ChannelingTrackData.hh:71
G4ChannelingTrackData::GetPosCh
G4ThreeVector GetPosCh()
Definition
G4ChannelingTrackData.hh:85
G4ChannelingTrackData::SetPosCh
void SetPosCh(G4ThreeVector a3vec)
Definition
G4ChannelingTrackData.hh:86
G4ChannelingTrackData::Print
void Print() const
Definition
G4ChannelingTrackData.cc:47
G4ChannelingTrackData::SetNuD
void SetNuD(G4double aDouble)
Definition
G4ChannelingTrackData.hh:70
G4ChannelingTrackData::SetElD
void SetElD(G4double aDouble)
Definition
G4ChannelingTrackData.hh:73
G4ChannelingTrackData::Reset
void Reset()
Definition
G4ChannelingTrackData.hh:61
G4ChannelingTrackData::SetEFY
void SetEFY(G4double aDouble)
Definition
G4ChannelingTrackData.hh:79
G4ChannelingTrackData::GetDensity
G4double GetDensity()
Definition
G4ChannelingTrackData.hh:68
G4ChannelingTrackData::G4ChannelingTrackData
G4ChannelingTrackData()
Definition
G4ChannelingTrackData.cc:30
G4ChannelingTrackData::SetEFX
void SetEFX(G4double aDouble)
Definition
G4ChannelingTrackData.hh:76
G4ChannelingTrackData::SetMomCh
void SetMomCh(G4ThreeVector a3vec)
Definition
G4ChannelingTrackData.hh:83
G4ChannelingTrackData::GetEFX
G4double GetEFX()
Definition
G4ChannelingTrackData.hh:77
G4ChannelingTrackData::GetEFY
G4double GetEFY()
Definition
G4ChannelingTrackData.hh:80
G4ChannelingTrackData::GetElD
G4double GetElD()
Definition
G4ChannelingTrackData.hh:74
G4Channeling
Definition
G4Channeling.hh:41
G4VAuxiliaryTrackInformation
Definition
G4VAuxiliaryTrackInformation.hh:55
geant4-v11.2.2
source
processes
solidstate
channeling
include
G4ChannelingTrackData.hh
Generated by
1.12.0