Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer 3 // * License and Disclaimer * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/ 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. 9 // * include a list of copyright holders. * 10 // * 10 // * * 11 // * Neither the authors of this software syst 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitatio 16 // * for the full disclaimer and the limitation of liability. * 17 // * 17 // * * 18 // * This code implementation is the result 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboratio 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distri 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you ag 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publicati 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Sof 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************* 24 // ******************************************************************** 25 // 25 // >> 26 // $Id: G4GamP2PPi0AngDst.cc 67433 2013-02-20 21:27:31Z mkelsey $ 26 // Author: Dennis Wright (SLAC) 27 // Author: Dennis Wright (SLAC) 27 // Date: 28 January 2013 28 // Date: 28 January 2013 28 // 29 // 29 // Description: implementation of numerically 30 // Description: implementation of numerically integrated angular distribution 30 // class for gamma p -> p pi0 rea 31 // class for gamma p -> p pi0 reaction 31 // 32 // 32 // 20130219 Inherit from templated base, move 33 // 20130219 Inherit from templated base, move arrays to namespace statics 33 34 34 #include "G4GamP2PPi0AngDst.hh" 35 #include "G4GamP2PPi0AngDst.hh" 35 36 36 namespace { 37 namespace { 37 static const G4double eBins[15] = 38 static const G4double eBins[15] = 38 { 0.145, 0.169, 0.240, 0.300, 0.360, 0.420 39 { 0.145, 0.169, 0.240, 0.300, 0.360, 0.420, 0.480, 39 0.700, 1.050, 1.238, 1.400, 1.575, 1.825 40 0.700, 1.050, 1.238, 1.400, 1.575, 1.825, 2.450, 40 2.900 }; 41 2.900 }; 41 42 42 static const G4double angleBins[19] = 43 static const G4double angleBins[19] = 43 { -1.000, -0.985, -0.940, -0.866, -0.766, 44 { -1.000, -0.985, -0.940, -0.866, -0.766, -0.643, -0.500, -0.342, -0.174, 44 0.000, 0.174, 0.342, 0.500, 0.643, 45 0.000, 0.174, 0.342, 0.500, 0.643, 0.766, 0.866, 0.940, 0.985, 45 1.000 }; 46 1.000 }; 46 47 47 static const G4double integralTable[15][19] 48 static const G4double integralTable[15][19] = { 48 {0.0000, 0.0075, 0.0300, 0.0670, 0.1170, 0 49 {0.0000, 0.0075, 0.0300, 0.0670, 0.1170, 0.1785, 0.2500, 0.3290, 0.4130, 49 0.5000, 0.5870, 0.6710, 0.7500, 0.8215, 0 50 0.5000, 0.5870, 0.6710, 0.7500, 0.8215, 0.8830, 0.9330, 0.9700, 0.9925, 50 1.0000}, 51 1.0000}, 51 {0.0000, 0.0123, 0.0482, 0.1041, 0.1739, 0 52 {0.0000, 0.0123, 0.0482, 0.1041, 0.1739, 0.2514, 0.3315, 0.4098, 0.4840, 52 0.5543, 0.6214, 0.6862, 0.7500, 0.8124, 0 53 0.5543, 0.6214, 0.6862, 0.7500, 0.8124, 0.8711, 0.9231, 0.9644, 0.9909, 53 1.0000}, 54 1.0000}, 54 {0.0000, 0.0059, 0.0242, 0.0564, 0.1039, 0 55 {0.0000, 0.0059, 0.0242, 0.0564, 0.1039, 0.1676, 0.2475, 0.3409, 0.4434, 55 0.5499, 0.6534, 0.7473, 0.8274, 0.8910, 0 56 0.5499, 0.6534, 0.7473, 0.8274, 0.8910, 0.9374, 0.9686, 0.9875, 0.9971, 56 1.0000}, 57 1.0000}, 57 {0.0000, 0.0039, 0.0164, 0.0399, 0.0769, 0 58 {0.0000, 0.0039, 0.0164, 0.0399, 0.0769, 0.1300, 0.2003, 0.2865, 0.3851, 58 0.4913, 0.5980, 0.6981, 0.7866, 0.8598, 0 59 0.4913, 0.5980, 0.6981, 0.7866, 0.8598, 0.9158, 0.9558, 0.9816, 0.9956, 59 1.0000}, 60 1.0000}, 60 {0.0000, 0.0025, 0.0113, 0.0294, 0.0605, 0 61 {0.0000, 0.0025, 0.0113, 0.0294, 0.0605, 0.1082, 0.1749, 0.2598, 0.3594, 61 0.4686, 0.5798, 0.6848, 0.7780, 0.8550, 0 62 0.4686, 0.5798, 0.6848, 0.7780, 0.8550, 0.9136, 0.9549, 0.9814, 0.9956, 62 1.0000}, 63 1.0000}, 63 {0.0000, 0.0015, 0.0074, 0.0212, 0.0476, 0 64 {0.0000, 0.0015, 0.0074, 0.0212, 0.0476, 0.0910, 0.1544, 0.2377, 0.3374, 64 0.4485, 0.5627, 0.6714, 0.7684, 0.8486, 0 65 0.4485, 0.5627, 0.6714, 0.7684, 0.8486, 0.9098, 0.9530, 0.9806, 0.9954, 65 1.0000}, 66 1.0000}, 66 {0.0000, 0.0009, 0.0051, 0.0160, 0.0383, 0 67 {0.0000, 0.0009, 0.0051, 0.0160, 0.0383, 0.0765, 0.1342, 0.2116, 0.3062, 67 0.4135, 0.5260, 0.6356, 0.7360, 0.8220, 0 68 0.4135, 0.5260, 0.6356, 0.7360, 0.8220, 0.8902, 0.9408, 0.9748, 0.9939, 68 1.0000}, 69 1.0000}, 69 {0.0000, 0.0022, 0.0105, 0.0290, 0.0630, 0 70 {0.0000, 0.0022, 0.0105, 0.0290, 0.0630, 0.1170, 0.1937, 0.2914, 0.4047, 70 0.5261, 0.6454, 0.7529, 0.8421, 0.9092, 0 71 0.5261, 0.6454, 0.7529, 0.8421, 0.9092, 0.9542, 0.9807, 0.9938, 0.9988, 71 1.0000}, 72 1.0000}, 72 {0.0000, 0.0080, 0.0333, 0.0785, 0.1424, 0 73 {0.0000, 0.0080, 0.0333, 0.0785, 0.1424, 0.2194, 0.3003, 0.3759, 0.4433, 73 0.5071, 0.5757, 0.6547, 0.7432, 0.8313, 0 74 0.5071, 0.5757, 0.6547, 0.7432, 0.8313, 0.9058, 0.9578, 0.9863, 0.9975, 74 1.0000}, 75 1.0000}, 75 {0.0000, 0.0064, 0.0288, 0.0717, 0.1333, 0 76 {0.0000, 0.0064, 0.0288, 0.0717, 0.1333, 0.2036, 0.2718, 0.3330, 0.3919, 76 0.4566, 0.5307, 0.6114, 0.6937, 0.7726, 0 77 0.4566, 0.5307, 0.6114, 0.6937, 0.7726, 0.8448, 0.9078, 0.9575, 0.9892, 77 1.0000}, 78 1.0000}, 78 {0.0000, 0.0129, 0.0517, 0.1132, 0.1849, 0 79 {0.0000, 0.0129, 0.0517, 0.1132, 0.1849, 0.2517, 0.3063, 0.3558, 0.4142, 79 0.4878, 0.5668, 0.6343, 0.6844, 0.7265, 0 80 0.4878, 0.5668, 0.6343, 0.6844, 0.7265, 0.7772, 0.8444, 0.9189, 0.9778, 80 1.0000}, 81 1.0000}, 81 {0.0000, 0.0027, 0.0197, 0.0638, 0.1277, 0 82 {0.0000, 0.0027, 0.0197, 0.0638, 0.1277, 0.1895, 0.2402, 0.2972, 0.3824, 82 0.4892, 0.5796, 0.6246, 0.6388, 0.6663, 0 83 0.4892, 0.5796, 0.6246, 0.6388, 0.6663, 0.7363, 0.8357, 0.9271, 0.9827, 83 1.0000}, 84 1.0000}, 84 {0.0000, 0.0025, 0.0142, 0.0401, 0.0761, 0 85 {0.0000, 0.0025, 0.0142, 0.0401, 0.0761, 0.1140, 0.1572, 0.2217, 0.3174, 85 0.4282, 0.5179, 0.5649, 0.5863, 0.6227, 0 86 0.4282, 0.5179, 0.5649, 0.5863, 0.6227, 0.6997, 0.8068, 0.9095, 0.9773, 86 1.0000}, 87 1.0000}, 87 {0.0000, 0.0010, 0.0036, 0.0062, 0.0083, 0 88 {0.0000, 0.0010, 0.0036, 0.0062, 0.0083, 0.0111, 0.0174, 0.0302, 0.0518, 88 0.0844, 0.1307, 0.1957, 0.2864, 0.4073, 0 89 0.0844, 0.1307, 0.1957, 0.2864, 0.4073, 0.5541, 0.7132, 0.8598, 0.9630, 89 1.0000}, 90 1.0000}, 90 {0.0000, 0.0013, 0.0044, 0.0079, 0.0111, 0 91 {0.0000, 0.0013, 0.0044, 0.0079, 0.0111, 0.0149, 0.0219, 0.0351, 0.0569, 91 0.0895, 0.1359, 0.2010, 0.2917, 0.4121, 0 92 0.0895, 0.1359, 0.2010, 0.2917, 0.4121, 0.5582, 0.7160, 0.8612, 0.9634, 92 1.0000} 93 1.0000} 93 }; 94 }; 94 } 95 } 95 96 96 // Constructor passes arrays to templated base 97 // Constructor passes arrays to templated base class 97 98 98 G4GamP2PPi0AngDst::G4GamP2PPi0AngDst(G4int ver 99 G4GamP2PPi0AngDst::G4GamP2PPi0AngDst(G4int verbose) 99 : G4NumIntTwoBodyAngDst<15,19>("G4GamP2PPi0A 100 : G4NumIntTwoBodyAngDst<15,19>("G4GamP2PPi0AngDist", eBins, angleBins, 100 integralTable, 1.5, verbose) {;} 101 integralTable, 1.5, verbose) {;} 101 102