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
GFlashSamplingShowerParameterisation.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file GFlashSamplingShowerParameterisation.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
//---------------------------------------------------------------
30
// GEANT 4 class header file
31
//
32
// GFlashSamplingShowerParameterisation
33
//
34
// Class description:
35
//
36
// GFlash concrete sampling shower parameterisation
37
38
// Author: Joanna Weng - 02.2004
39
//---------------------------------------------------------------
40
#ifndef GFlashSamplingShowerParameterisation_h
41
#define GFlashSamplingShowerParameterisation_h 1
42
43
#include "
globals.hh
"
44
#include "
GFlashSamplingShowerTuning.hh
"
45
#include "
GVFlashShowerParameterisation.hh
"
46
47
class
G4Material
;
48
49
class
GFlashSamplingShowerParameterisation
50
:
public
GVFlashShowerParameterisation
51
{
52
public
:
53
54
GFlashSamplingShowerParameterisation
(
G4Material
* aMat1,
G4Material
* aMat2,
55
G4double
d1
,
G4double
d2
,
56
GFlashSamplingShowerTuning
* aPar = 0);
57
~GFlashSamplingShowerParameterisation
();
58
59
void
ComputeRadialParameters
(
G4double
y
,
G4double
Tau);
60
void
GenerateLongitudinalProfile
(
G4double
Energy);
61
void
ComputeZAX0EFFetc
();
62
63
G4double
IntegrateEneLongitudinal
(
G4double
LongitudinalStep);
64
G4double
IntegrateNspLongitudinal
(
G4double
LongitudinalStep);
65
G4double
ComputeTau
(
G4double
LongitudinalPosition);
66
void
SetMaterial
(
G4Material
*mat1,
G4Material
*mat2);
67
G4double
GeneratePhi
();
68
G4double
GenerateRadius
(
G4int
ispot,
G4double
Energy,
69
G4double
LongitudinalPosition);
70
G4double
GenerateExponential
(
G4double
Energy);
71
72
inline
G4double
GetAveR99
() {
return
(3.5 *
Rmeff
);}
73
inline
G4double
GetAveR90
() {
return
(1.5 *
Rmeff
);}
//ok
74
//
75
inline
G4double
GetAveTmx
() {
return
(
X0eff
*std::exp(
AveLogTmax
));}
76
inline
G4double
GetAveT99
() {
return
(
X0eff
*
AveLogTmax
/(
AveLogAlpha
-1.00));}
77
inline
G4double
GetAveT90
() {
return
(2.5*
X0eff
* std::exp(
AveLogTmax
));}
78
//
79
inline
G4double
GetNspot
() {
return
NSpot
;}
80
inline
G4double
GetX0
() {
return
X0eff
;}
81
inline
G4double
GetEc
() {
return
Eceff
;}
82
inline
G4double
GetRm
() {
return
Rmeff
;}
83
84
G4double
ApplySampling
(
const
G4double
DEne,
const
G4double
Energy);
85
86
private
:
87
88
// medium related quantities
89
//
90
G4Material
*
material1
, *
material2
;
91
G4double
density1
,
A1
,
Z1
,
X01
,
Ec1
,
Rm1
,
d1
;
92
G4double
density2
,
A2
,
Z2
,
X02
,
Ec2
,
Rm2
,
d2
;
93
G4double
Aeff
,
Rhoeff
,
X0eff
,
Eceff
,
Rmeff
,
Fs
,
ehat
,
Zeff
;
94
95
// Resolution
96
//
97
G4double
ConstantResolution
;
98
G4double
NoiseResolution
;
99
G4double
SamplingResolution
;
100
101
// parametrization parameters
102
//
103
GFlashSamplingShowerTuning
*
thePar
;
104
G4bool
owning
;
105
106
// Cashed parameters:
107
// Longitudinal Coefficients for a homogenious calo
108
//
109
G4double
ParAveT1
,
ParAveT2
;
110
G4double
ParAveA1
,
ParAveA2
,
ParAveA3
;
111
G4double
ParSigLogT1
,
ParSigLogT2
;
112
G4double
ParSigLogA1
,
ParSigLogA2
;
113
G4double
ParRho1
,
ParRho2
;
114
115
//Cashed parameters:
116
// Longitudinal Coefficients for a sampling calo
117
//
118
G4double
ParsAveT1
,
ParsAveT2
;
119
G4double
ParsAveA1
,
ParsAveA2
;
120
G4double
ParsSigLogT1
,
ParsSigLogT2
;
121
G4double
ParsSigLogA1
,
ParsSigLogA2
;
122
G4double
ParsRho1
,
ParsRho2
;
123
void
ComputeLongitudinalParameters
(
G4double
y);
124
void
GenerateEnergyProfile
(
G4double
y);
125
void
GenerateNSpotProfile
(
G4double
y);
126
127
// Radial Coefficients homo
128
//
129
G4double
ParRC1
,
ParRC2
,
ParRC3
,
ParRC4
;
130
G4double
ParWC1
,
ParWC2
,
ParWC3
;
131
G4double
ParWC4
,
ParWC5
,
ParWC6
;
132
G4double
ParRT1
,
ParRT2
,
ParRT3
,
ParRT4
;
133
G4double
ParRT5
,
ParRT6
;
134
135
// Radial Coefficients sampling
136
//
137
G4double
ParsRC1
,
ParsRC2
;
138
G4double
ParsWC1
,
ParsWC2
;
139
G4double
ParsRT1
,
ParsRT2
;
140
141
// Spot multiplicity Coefficients
142
//
143
G4double
ParsSpotT1
,
ParsSpotT2
,
ParsSpotA1
,
ParsSpotA2
;
144
G4double
ParsSpotN1
,
ParsSpotN2
;
145
146
// PARAMETRISATION variables (Energy & position dependent)
147
// Longitudinal
148
// homogeneous
149
//
150
G4double
AveLogAlphah
,
AveLogTmaxh
;
151
G4double
SigmaLogAlphah
,
SigmaLogTmaxh
;
152
G4double
Rhoh
;
153
G4double
Alphah
,
Tmaxh
,
Betah
;
154
155
// PARAMETRISATION variables (Energy & position dependent)
156
// Longitudinal
157
// sampling
158
//
159
G4double
AveLogAlpha
,
AveLogTmax
;
160
G4double
SigmaLogAlpha
,
SigmaLogTmax
;
161
G4double
Rho
;
162
G4double
Alpha
,
Tmax
,
Beta
;
163
164
// Multiplicity
165
//
166
G4double
NSpot
,
AlphaNSpot
,
TNSpot
,
BetaNSpot
;
167
168
//Radial
169
//
170
G4double
RadiusCore
,
WeightCore
,
RadiusTail
;
171
};
172
173
#endif
geant4
tree
geant4-10.6-release
source
parameterisations
gflash
include
GFlashSamplingShowerParameterisation.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:23
using
1.8.2 with
ECCE GitHub integration