ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4PAIPhotData.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4PAIPhotData.hh
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
// GEANT4 Class header file
30
//
31
//
32
// File name: G4PAIPhotData
33
//
34
// Author: V. Grichine based on G4PAIModelData code for MT
35
//
36
// Creation date: 07.10.2013
37
//
38
// Modifications:
39
//
40
//
41
// Class Description:
42
//
43
// Implementation of PAIPhotModel internal data class.
44
// This class is extracted from G4PAIPhot in order to provide sharing
45
// of these data between threads.
46
//
47
// Internal data tables are computed for proton.
48
//
49
// -------------------------------------------------------------------
50
//
51
52
#ifndef G4PAIPhotData_h
53
#define G4PAIPhotData_h 1
54
55
#include <vector>
56
#include "
globals.hh
"
57
#include "
G4PAIxSection.hh
"
58
#include "
G4SandiaTable.hh
"
59
60
class
G4PhysicsLogVector
;
61
class
G4PhysicsTable
;
62
class
G4MaterialCutsCouple
;
63
class
G4PAIPhotModel
;
64
65
class
G4PAIPhotData
66
{
67
68
public
:
69
70
explicit
G4PAIPhotData
(
G4double
tmin,
G4double
tmax,
G4int
verbose);
71
72
~G4PAIPhotData
();
73
74
void
Initialise
(
const
G4MaterialCutsCouple
*,
G4double
cut,
G4PAIPhotModel
*);
75
76
G4double
DEDXPerVolume
(
G4int
coupleIndex,
G4double
scaledTkin,
77
G4double
cut)
const
;
78
79
G4double
CrossSectionPerVolume
(
G4int
coupleIndex,
G4double
scaledTkin,
80
G4double
tcut,
G4double
tmax)
const
;
81
82
G4double
GetPlasmonRatio
(
G4int
coupleIndex,
G4double
scaledTkin )
const
;
83
84
G4double
SampleAlongStepTransfer
(
G4int
coupleIndex,
G4double
kinEnergy,
85
G4double
scaledTkin,
86
G4double
stepFactor)
const
;
87
G4double
SampleAlongStepPhotonTransfer
(
G4int
coupleIndex,
G4double
kinEnergy,
88
G4double
scaledTkin,
89
G4double
stepFactor)
const
;
90
G4double
SampleAlongStepPlasmonTransfer
(
G4int
coupleIndex,
G4double
kinEnergy,
91
G4double
scaledTkin,
92
G4double
stepFactor)
const
;
93
94
G4double
SamplePostStepTransfer
(
G4int
coupleIndex,
95
G4double
scaledTkin)
const
;
96
G4double
SamplePostStepPhotonTransfer
(
G4int
coupleIndex,
97
G4double
scaledTkin)
const
;
98
G4double
SamplePostStepPlasmonTransfer
(
G4int
coupleIndex,
99
G4double
scaledTkin)
const
;
100
101
private
:
102
103
G4double
GetEnergyTransfer
(
G4int
coupleIndex,
size_t
iPlace,
104
G4double
position
)
const
;
105
G4double
GetEnergyPhotonTransfer
(
G4int
coupleIndex,
size_t
iPlace,
106
G4double
position)
const
;
107
G4double
GetEnergyPlasmonTransfer
(
G4int
coupleIndex,
size_t
iPlace,
108
G4double
position)
const
;
109
110
// hide assignment operator
111
G4PAIPhotData
&
operator=
(
const
G4PAIPhotData
&
right
) =
delete
;
112
G4PAIPhotData
(
const
G4PAIPhotData
&) =
delete
;
113
114
G4int
fTotBin
;
115
G4double
fLowestKineticEnergy
;
116
G4double
fHighestKineticEnergy
;
117
118
G4PhysicsLogVector
*
fParticleEnergyVector
;
119
120
G4PAIxSection
fPAIxSection
;
121
G4SandiaTable
fSandia
;
122
123
std::vector<G4PhysicsTable*>
fPAIxscBank
;
124
std::vector<G4PhysicsTable*>
fPAIphotonBank
;
125
std::vector<G4PhysicsTable*>
fPAIplasmonBank
;
126
127
std::vector<G4PhysicsTable*>
fPAIdEdxBank
;
128
std::vector<G4PhysicsLogVector*>
fdEdxTable
;
129
130
std::vector<G4PhysicsLogVector*>
fdNdxCutTable
;
131
std::vector<G4PhysicsLogVector*>
fdNdxCutPhotonTable
;
132
std::vector<G4PhysicsLogVector*>
fdNdxCutPlasmonTable
;
133
134
std::vector<G4PhysicsLogVector*>
fdEdxCutTable
;
135
136
};
137
138
#endif
139
140
141
142
143
144
145
geant4
tree
geant4-10.6-release
source
processes
electromagnetic
standard
include
G4PAIPhotData.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:34
using
1.8.2 with
ECCE GitHub integration