ECCE @ EIC Software
 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"
46 
47 class G4Material;
48 
51 {
52  public:
53 
56  GFlashSamplingShowerTuning * aPar = 0);
58 
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);
68  G4double GenerateRadius(G4int ispot, G4double Energy,
69  G4double LongitudinalPosition);
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  //
94 
95  // Resolution
96  //
100 
101  // parametrization parameters
102  //
105 
106  // Cashed parameters:
107  // Longitudinal Coefficients for a homogenious calo
108  //
114 
115  //Cashed parameters:
116  // Longitudinal Coefficients for a sampling calo
117  //
126 
127  // Radial Coefficients homo
128  //
134 
135  // Radial Coefficients sampling
136  //
140 
141  // Spot multiplicity Coefficients
142  //
145 
146  // PARAMETRISATION variables (Energy & position dependent)
147  // Longitudinal
148  // homogeneous
149  //
154 
155  // PARAMETRISATION variables (Energy & position dependent)
156  // Longitudinal
157  // sampling
158  //
163 
164  // Multiplicity
165  //
167 
168  //Radial
169  //
171 };
172 
173 #endif