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
GFlashHomoShowerParameterisation.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file GFlashHomoShowerParameterisation.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
// GFlashHomoShowerParameterisation
33
//
34
// Class description:
35
//
36
// GFlash homogeneous shower parameterisation.
37
38
// Author: Joanna Weng - 02.2004
39
// ---------------------------------------------------------------
40
#ifndef GFlashHomoShowerParameterisation_h
41
#define GFlashHomoShowerParameterisation_h 1
42
43
#include "
globals.hh
"
44
#include "
GVFlashHomoShowerTuning.hh
"
45
#include "
GVFlashShowerParameterisation.hh
"
46
47
class
G4Material
;
48
49
class
GFlashHomoShowerParameterisation
:
public
GVFlashShowerParameterisation
50
{
51
public
:
// with description
52
53
GFlashHomoShowerParameterisation
(
G4Material
* aMat,
54
GVFlashHomoShowerTuning
* aPar = 0);
55
~GFlashHomoShowerParameterisation
();
56
57
void
ComputeRadialParameters
(
G4double
y
,
G4double
Tau);
58
void
GenerateLongitudinalProfile
(
G4double
Energy);
59
void
ComputeZAX0EFFetc
();
60
61
G4double
IntegrateEneLongitudinal
(
G4double
LongitudinalStep);
62
G4double
IntegrateNspLongitudinal
(
G4double
LongitudinalStep);
63
G4double
ComputeTau
(
G4double
LongitudinalPosition);
64
65
G4double
GeneratePhi
();
66
G4double
GenerateRadius
(
G4int
ispot,
G4double
Energy,
67
G4double
LongitudinalPosition);
68
G4double
GenerateExponential
(
G4double
Energy);
69
void
SetMaterial
(
G4Material
*
mat
);
70
71
inline
G4double
GetAveR99
() {
return
(3.5 *
Rm
);}
72
inline
G4double
GetAveR90
() {
return
(1.5 *
Rm
);}
//ok
73
74
inline
G4double
GetAveTmx
() {
return
(
X0
* std::exp(
AveLogTmaxh
));}
75
inline
G4double
GetAveT99
() {
return
(
X0
*
AveLogTmaxh
/(
AveLogAlphah
-1.00));}
76
inline
G4double
GetAveT90
() {
return
(2.5*
X0
*std::exp(
AveLogTmaxh
) );}
77
78
inline
G4double
GetNspot
(){
return
NSpot
;}
79
inline
G4double
GetX0
(){
return
X0
;}
80
inline
G4double
GetEc
(){
return
Ec
;}
81
inline
G4double
GetRm
(){
return
Rm
;}
82
83
private
:
84
85
G4Material
*
material
;
86
87
//Resolution
88
G4double
ConstantResolution
;
89
G4double
NoiseResolution
;
90
G4double
SamplingResolution
;
91
92
// parametrization parameters
93
GVFlashHomoShowerTuning
*
thePar
;
94
G4bool
owning
;
95
96
// Cashed parameters:
97
// Longitudinal Coefficients for a homogeneous calo
98
G4double
ParAveT1
;
99
G4double
ParAveA1
,
ParAveA2
,
ParAveA3
;
100
G4double
ParSigLogT1
,
ParSigLogT2
;
101
G4double
ParSigLogA1
,
ParSigLogA2
;
102
G4double
ParRho1
,
ParRho2
;
103
104
void
ComputeLongitudinalParameters
(
G4double
y);
105
void
GenerateEnergyProfile
(
G4double
y);
106
void
GenerateNSpotProfile
(
G4double
y);
107
108
// Radial Coefficients
109
G4double
ParRC1
,
ParRC2
,
ParRC3
,
ParRC4
;
110
G4double
ParWC1
,
ParWC2
,
ParWC3
;
111
G4double
ParWC4
,
ParWC5
,
ParWC6
;
112
G4double
ParRT1
,
ParRT2
,
ParRT3
,
ParRT4
;
113
G4double
ParRT5
,
ParRT6
;
114
115
// Spot multiplicity Coefficients
116
G4double
ParSpotT1
,
ParSpotT2
,
ParSpotA1
,
ParSpotA2
;
117
G4double
ParSpotN1
,
ParSpotN2
;
118
119
// PARAMETRISATION variables (Energy & position dependent)
120
// Longitudinal
121
// homogeneous
122
G4double
AveLogAlphah
,
AveLogTmaxh
;
123
G4double
SigmaLogAlphah
,
SigmaLogTmaxh
;
124
G4double
Rhoh
;
125
G4double
Alphah
,
Tmaxh
,
Betah
;
126
127
// Multiplicity
128
G4double
NSpot
,
AlphaNSpot
,
TNSpot
,
BetaNSpot
;
129
130
//Radial
131
G4double
RadiusCore
,
WeightCore
,
RadiusTail
;
132
};
133
134
#endif
135
geant4
tree
geant4-10.6-release
source
parameterisations
gflash
include
GFlashHomoShowerParameterisation.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:23
using
1.8.2 with
ECCE GitHub integration