![]() |
|
|||
File indexing completed on 2024-04-06 12:14:24
0001 #ifndef CSCGeomety_CSCGattiFunction_h 0002 #define CSCGeomety_CSCGattiFunction_h 0003 0004 /** \class CSCGattiFunction 0005 * 0006 * Represent functional form of charge distribution over strips 0007 * in Endcap Muon CSC's. 0008 * 0009 * \author Rick Wilkinson 0010 * 0011 * This is required in building RecHits from strips in CSCRecHit 0012 * and for distributing charge over strips in CSCDigitizer. 0013 * 0014 * It was ported from FORTRAN in CMSISM to C++ in ORCA and then CMSSW. <BR> 0015 * 0016 * Function: describes the cathode signal using <BR> 0017 * the single-parameter Gatti formula: <BR> 0018 @code 0019 * 1 - tanh(K_2 * lambda)**2 0020 * Gamma(lambda) = K_1 * ------------------------------- 0021 * 1 + K_3 * tanh (K_2 *lambda)**2 0022 * lambda = x/h, h is anode cathode spacing 0023 * 0024 * K_2 = pi/2*(1 - 0.5*sqrt(K_3)) 0025 * 0026 * K_2*sqrt(K_3) 0027 * K_1 = ------------------- 0028 * 4 * atan(sqrt(K_3)) 0029 * 0030 * References : E.Gatti, A.Longoni, NIM 163 (1979) 82-93. 0031 * 0032 * For K_3, "It is used parametrization from Fig.2 from E.Mathieson 0033 * J.S.Gordon, "Cathode charge distributions in multi- 0034 * wire chambers", NIM 227 (1984) 277-282" 0035 * (comment from GATTI3 in cmsim/src/mc_uty/.) 0036 @endcode 0037 0038 */ 0039 0040 class CSCChamberSpecs; 0041 0042 class CSCGattiFunction { 0043 public: 0044 CSCGattiFunction(); 0045 /// Calculates k1, k2, k3, h per chamber type, if necessary 0046 void initChamberSpecs(const CSCChamberSpecs &); 0047 0048 /// Returns the fraction of charge on a strip centered 0049 /// a distance of x away from the center of the shower, 0050 /// at zero. Note that the user is responsible for making 0051 /// sure the constants have been initialized using the chamber specs. 0052 double binValue(double x, double stripWidth) const; 0053 0054 private: 0055 // geometry constants for the detector 0056 double k1, k2, k3, h; 0057 double norm, sqrtk3; 0058 0059 const CSCChamberSpecs *thePreviousSpecs; 0060 }; 0061 0062 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |