![]() |
|
|||
File indexing completed on 2025-09-18 09:16:12
0001 // 0002 // ******************************************************************** 0003 // * License and Disclaimer * 0004 // * * 0005 // * The Geant4 software is copyright of the Copyright Holders of * 0006 // * the Geant4 Collaboration. It is provided under the terms and * 0007 // * conditions of the Geant4 Software License, included in the file * 0008 // * LICENSE and available at http://cern.ch/geant4/license . These * 0009 // * include a list of copyright holders. * 0010 // * * 0011 // * Neither the authors of this software system, nor their employing * 0012 // * institutes,nor the agencies providing financial support for this * 0013 // * work make any representation or warranty, express or implied, * 0014 // * regarding this software system or assume any liability for its * 0015 // * use. Please see the license in the file LICENSE and URL above * 0016 // * for the full disclaimer and the limitation of liability. * 0017 // * * 0018 // * This code implementation is the result of the scientific and * 0019 // * technical work of the GEANT4 collaboration. * 0020 // * By using, copying, modifying or distributing the software (or * 0021 // * any work based on the software) you agree to acknowledge its * 0022 // * use in resulting scientific publications, and indicate your * 0023 // * acceptance of all terms of the Geant4 Software license. * 0024 // ******************************************************************** 0025 // 0026 // 0027 // 0028 // 0029 //--------------------------------------------------------------- 0030 // GEANT 4 class header file 0031 // 0032 // GFlashSamplingShowerTuning 0033 // 0034 // Class description: 0035 // 0036 // Tuning class for GFlash homogeneous shower parameterisation. 0037 // Definitions: 0038 // <t>: shower center of gravity 0039 // T: Depth at shower maximum 0040 // Ec: Critical energy 0041 // X0: Radiation length 0042 // y = E/Ec 0043 // 0044 // Please, see hep-ex/0001020 for details. 0045 0046 // Author: Joanna Weng - 11.2005 0047 // 0048 // Usage: use new statement for new instance of class, do not delete. 0049 // The instance of class will be deleted in 0050 // GFlashSamplingShowerParameterisation Destructor. 0051 //--------------------------------------------------------------- 0052 #ifndef GFlashSamplingShowerTuning_hh 0053 #define GFlashSamplingShowerTuning_hh 0054 0055 #include "GVFlashHomoShowerTuning.hh" 0056 0057 class GFlashSamplingShowerTuning : public GVFlashHomoShowerTuning 0058 { 0059 public: 0060 0061 GFlashSamplingShowerTuning() {} 0062 virtual ~GFlashSamplingShowerTuning() {} 0063 0064 public: // with description 0065 G4double ParsAveT1() { return -0.55; } // t1 0066 G4double ParsAveT2() { return -0.69; } // t2 0067 // T_sam = log(exp( log T_hom) + t1*Fs-1 + t2*(1-ehat)) 0068 0069 G4double ParsAveA1() { return -0.476; } // a1 0070 // alpha_sam = log(exp(log alphah_hom) +(a1*Fs-1)) 0071 0072 G4double ParsSigLogT1() { return -2.5; } // t1 0073 G4double ParsSigLogT2() { return 1.25; } // t2 0074 // std::sqrt(var(ln(T_sam))) = 1/(t+t2*ln(y)) 0075 0076 G4double ParsSigLogA1() { return -0.82; } // a1 0077 G4double ParsSigLogA2() { return 0.79; } // a2 0078 // std::sqrt(var(ln(alpha_sam))) = 1/(a1+a2*ln(y)) 0079 0080 G4double ParsRho1() { return 0.784; } // r1 0081 G4double ParsRho2() { return -0.023; } // r2 0082 // Correlation(ln(T),ln(alpha))=r1+r2*ln(y) 0083 0084 // Radial profiles 0085 // f(r) := (1/dE(t))(dE(t,r)/dr) 0086 // Ansatz: 0087 // f(r) = p(2*r*Rc**2)/(r**2+Rc**2)**2+(1-p)*(2*r*Rt**2)/(r**2+Rt**2)**2, 0088 // 0<p<1 0089 0090 G4double ParsRC1() { return -0.0203; } // c1 0091 G4double ParsRC2() { return 0.0397; } // c2 0092 // Rc_sam = Rc_hom + c1 * (1-ehat) + c2 *Fs-1*exp (-tau) 0093 0094 G4double ParsRT1() { return -0.14; } // t1 0095 G4double ParsRT2() { return -0.495; } // t2 0096 // Rt_sam = Rc_hom + t1 * (1-ehat) + t2 *Fs-1*exp (-tau) 0097 0098 G4double ParsWC1() { return 0.348; } // c1 0099 G4double ParsWC2() { return -0.642; } // c2 0100 // W_sam = W_hom + (1-ehat)*(c1 + c2 *Fs-1 * exp (- (tau -1 )**2)) 0101 0102 // Fluctuations on radial profiles through number of spots 0103 // The total number of spots needed for a shower is 0104 0105 G4double ParsSpotN1() { return 10.3; } // n1 0106 G4double ParsSpotN2() { return 0.959; } // n2 0107 // Ns = n1*ln(Z)(E/GeV)**n2 0108 0109 // The number of spots per longitudinal interval is: 0110 // (1/Ns)(dNs(t)/dt) = f(t) 0111 // = (beta*t)**(alpha-1)*beta*std::exp(-beta*t)/Gamma(alpha) 0112 // <t> = alpha_s/beta_s 0113 // Ts = (alpha_s-1)/beta_s 0114 // and 0115 // Ts = T*(t1+t2*Z) 0116 // alpha_s = alpha*(a1+a2*Z) 0117 0118 G4double ParsSpotT1() { return 0.813; } // t1 0119 G4double ParsSpotT2() { return 0.0019; } // t2 0120 0121 G4double ParsSpotA1() { return 0.844; } // a1 0122 G4double ParsSpotA2() { return 0.0026; } // a2 0123 0124 // Resolution 0125 0126 G4double ConstantResolution() { return 0.00; } // not used 0127 G4double NoiseResolution() { return 0.00; } // not used 0128 G4double SamplingResolution() { return 0.11; } 0129 }; 0130 0131 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |