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
G4GSPWACorrections.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4GSPWACorrections.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
// File name: G4GSPWACorrections
32
//
33
// Author: Mihaly Novak
34
//
35
// Creation date: 17.10.2017
36
//
37
// Modifications:
38
//
39
// Class description: class to describe and store correction factors to the
40
// integrated quantities of G4GoudsmitSaundersonMscModel (screening parameter,
41
// first and second moments) derived by using accurate Dirac-PWA based
42
// integrated quantities.
43
//
44
// ----------------------------------------------------------------------------
45
46
#ifndef G4GSPWACorrections_h
47
#define G4GSPWACorrections_h 1
48
49
#include <
CLHEP/Units/SystemOfUnits.h
>
50
51
#include "
globals.hh
"
52
53
#include <vector>
54
#include <string>
55
#include <sstream>
56
57
class
G4Material
;
58
class
G4Element
;
59
60
61
class
G4GSPWACorrections
{
62
public
:
63
G4GSPWACorrections
(
G4bool
iselectron=
true
);
64
65
~G4GSPWACorrections
();
66
67
void
Initialise
();
68
69
void
GetPWACorrectionFactors
(
G4double
logekin,
G4double
beta2,
G4int
matindx,
70
G4double
&corToScr,
G4double
&corToQ1,
G4double
&corToG2PerG1);
71
private
:
72
void
InitDataPerElement
();
73
74
void
InitDataPerMaterials
();
75
76
void
LoadDataElement
(
const
G4Element
*);
77
78
void
InitDataMaterial
(
const
G4Material
*);
79
80
void
ClearDataPerElement
();
81
82
void
ClearDataPerMaterial
();
83
84
// either per material or per Z
85
struct
DataPerMaterial
{
86
std::vector<G4double>
fCorScreening
;
// correction factor to Moliere screening parameter
87
std::vector<G4double>
fCorFirstMoment
;
// correction factor to first moment
88
std::vector<G4double>
fCorSecondMoment
;
// correction factor to second
89
};
90
91
92
// data members
93
private
:
94
G4bool
fIsElectron
;
95
static
constexpr
G4int
gMaxZet
= 98;
// max. Z for which correction data were computed (98)
96
static
constexpr
G4int
gNumEkin
= 31;
// number of kinetic energy grid points for Mott correction
97
static
constexpr
G4int
gNumBeta2
= 16;
// \beta^2 values between [fMinBeta2-fMaxBeta2]
98
static
constexpr
G4double
gMinEkin
= 1.*
CLHEP::keV
;
// minimum kinetic energy value
99
static
constexpr
G4double
gMidEkin
= 100.*
CLHEP::keV
;
// kinetic energy at the border of the E_{kin}-\beta^2 grids
100
static
constexpr
G4double
gMaxBeta2
= 0.9999;
// maximum \beta^2 value
101
//
102
G4double
fMaxEkin
;
// from max fMaxBeta2 = 0.9999 (~50.5889 [MeV])
103
G4double
fLogMinEkin
;
// \ln[fMinEkin]
104
G4double
fInvLogDelEkin
;
// 1/[\ln(fMidEkin/fMinEkin)/(fNumEkin-fNumBeta2)]
105
G4double
fMinBeta2
;
// <= E_{kin}=100 [keV] (~0.300546)
106
G4double
fInvDelBeta2
;
// 1/[(fMaxBeta2-fMinBeta2)/(fNumBeta2-1)]
107
//
108
static
const
std::string
gElemSymbols
[];
109
//
110
std::vector<DataPerMaterial*>
fDataPerElement
;
// size will be gMaxZet+1; won't be null only at used Z indices
111
std::vector<DataPerMaterial*>
fDataPerMaterial
;
// size will #materials; won't be null only at used mat. indices
112
113
};
114
115
#endif
geant4
tree
geant4-10.6-release
source
processes
electromagnetic
standard
include
G4GSPWACorrections.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:34
using
1.8.2 with
ECCE GitHub integration