G4XDeltaDeltastarTable.cc

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // -------------------------------------------------------------------
00028 //      GEANT4 Class file
00029 //
00030 // Hadron Kinetic Model
00031 // p p -> Delta Delta* cross section tables
00032 //
00033 // -------------------------------------------------------------------
00034 
00035 #include "globals.hh"
00036 #include "G4ios.hh"
00037 #include "G4SystemOfUnits.hh"
00038 #include "G4XDeltaDeltastarTable.hh"
00039 #include "G4PhysicsFreeVector.hh"
00040 
00041 const G4int G4XDeltaDeltastarTable::sizeDeltaDeltastar = 121;
00042 
00043 // Energies (GeV) corresponding to the cross section table
00044 // Units are assigned while filling the PhysicsVector
00045 
00046 const G4double G4XDeltaDeltastarTable::energyTable[121] =
00047 {
00048   0.0, 
00049   2.014,  2.014,  2.016,  2.018,  2.022,  2.026,  2.031,  2.037,  2.044,  2.052,   
00050   2.061,  2.071,  2.082,  2.094,  2.107,  2.121,  2.135,  2.151,  2.168,  2.185,   
00051   2.204,  2.223,  2.244,  2.265,  2.287,  2.311,  2.335,  2.360,  2.386,  2.413,   
00052   2.441,  2.470,  2.500,  2.531,  2.562,  2.595,  2.629,  2.664,  2.699,  2.736,
00053   2.773,  2.812,  2.851,  2.891,  2.933,  2.975,  3.018,  3.062,  3.107,  3.153,   
00054   3.200,  3.248,  3.297,  3.347,  3.397,  3.449,  3.502,  3.555,  3.610,  3.666,   
00055   3.722,  3.779,  3.838,  3.897,  3.957,  4.018,  4.081,  4.144,  4.208,  4.273,   
00056   4.339,  4.406,  4.473,  4.542,  4.612,  4.683,  4.754,  4.827,  4.900,  4.975,
00057   5.000,  6.134,  7.269,  8.403,  9.538, 10.672, 11.807, 12.941, 14.076, 15.210,  
00058  16.345, 17.479, 18.613, 19.748, 20.882, 22.017, 23.151, 24.286, 25.420, 26.555, 
00059  27.689, 28.824, 29.958, 31.092, 32.227, 33.361, 34.496, 35.630, 36.765, 37.899,  
00060  39.034, 40.168, 41.303, 42.437, 43.571, 44.706, 45.840, 46.975, 48.109, 49.244
00061 };
00062 
00063 // Cross-sections in mb, from S.A. Bass et al., Prog.Part.Nucl.Phys.41:225-370,1998 
00064 // Units are assigned while filling the PhysicsVector
00065 
00066 const G4double G4XDeltaDeltastarTable::sigmaDD1600[121]= 
00067 {
00068   0.0, 
00069   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00070   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00071   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00072   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00073   0.000,  0.000,  0.001,  0.001,  0.002,  0.003,  0.005,  0.010,
00074   0.018,  0.000,  0.000,  0.003,  0.015,  0.045,  0.087,  0.134,
00075   0.183,  0.231,  0.277,  0.319,  0.359,  0.395,  0.429,  0.459,
00076   0.486,  0.510,  0.532,  0.551,  0.568,  0.582,  0.595,  0.605,
00077   0.614,  0.621,  0.626,  0.630,  0.633,  0.635,  0.635,  0.634,
00078   0.633,  0.630,  0.627,  0.623,  0.619,  0.614,  0.608,  0.602,
00079   0.600,  0.490,  0.391,  0.314,  0.259,  0.213,  0.178,  0.152,
00080   0.130,  0.113,  0.099,  0.088,  0.078,  0.070,  0.063,  0.057,
00081   0.052,  0.047,  0.043,  0.040,  0.037,  0.034,  0.031,  0.029,
00082   0.027,  0.026,  0.024,  0.023,  0.021,  0.020,  0.019,  0.018,
00083   0.017,  0.016,  0.015,  0.014,  0.014,  0.013,  0.013,  0.012 
00084 };
00085 
00086 const G4double G4XDeltaDeltastarTable::sigmaDD1620[121] = 
00087 {
00088   0.0,
00089   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00090   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00091   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00092   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.001,  0.001,
00093   0.001,  0.002,  0.003,  0.004,  0.005,  0.007,  0.009,  0.014,
00094   0.000,  0.000,  0.001,  0.006,  0.020,  0.043,  0.070,  0.100,
00095   0.128,  0.156,  0.182,  0.207,  0.229,  0.249,  0.267,  0.284,
00096   0.299,  0.312,  0.324,  0.334,  0.343,  0.351,  0.357,  0.362,
00097   0.367,  0.370,  0.372,  0.374,  0.375,  0.375,  0.374,  0.373,
00098   0.372,  0.370,  0.367,  0.364,  0.361,  0.358,  0.354,  0.350,
00099   0.348,  0.280,  0.220,  0.176,  0.144,  0.117,  0.098,  0.091,
00100   0.071,  0.062,  0.054,  0.048,  0.042,  0.038,  0.034,  0.031,
00101   0.028,  0.025,  0.023,  0.021,  0.020,  0.018,  0.017,  0.016,
00102   0.015,  0.014,  0.013,  0.012,  0.011,  0.011,  0.010,  0.010,
00103   0.009,  0.009,  0.008,  0.008,  0.007,  0.007,  0.007,  0.006 
00104 };
00105 
00106 const G4double G4XDeltaDeltastarTable::sigmaDD1700[121] = 
00107 {
00108   0.0,
00109   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00110   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00111   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00112   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00113   0.000,  0.000,  0.001,  0.001,  0.002,  0.004,  0.007,  0.012,
00114   0.019,  0.031,  0.000,  0.000,  0.001,  0.006,  0.021,  0.044,
00115   0.073,  0.103,  0.134,  0.164,  0.193,  0.220,  0.246,  0.269,
00116   0.291,  0.310,  0.328,  0.344,  0.358,  0.370,  0.381,  0.391,
00117   0.399,  0.405,  0.411,  0.416,  0.419,  0.421,  0.423,  0.424,
00118   0.424,  0.423,  0.422,  0.420,  0.418,  0.415,  0.412,  0.408,
00119   0.407,  0.335,  0.268,  0.215,  0.177,  0.145,  0.121,  0.103,
00120   0.088,  0.077,  0.067,  0.059,  0.053,  0.047,  0.042,  0.038,
00121   0.035,  0.032,  0.029,  0.027,  0.025,  0.023,  0.021,  0.020,
00122   0.018,  0.017,  0.016,  0.015,  0.014,  0.013,  0.013,  0.012,
00123   0.011,  0.011,  0.010,  0.010,  0.009,  0.009,  0.008,  0.008 
00124 };
00125 
00126 
00127 const G4double G4XDeltaDeltastarTable::sigmaDD1900[121] = 
00128 {
00129   0.0,
00130   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00131   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00132   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00133   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00134   0.001,  0.001,  0.001,  0.001,  0.002,  0.002,  0.003,  0.003,
00135   0.004,  0.006,  0.007,  0.010,  0.000,  0.000,  0.000,  0.001,
00136   0.006,  0.014,  0.025,  0.036,  0.047,  0.058,  0.068,  0.077,
00137   0.086,  0.094,  0.101,  0.107,  0.113,  0.118,  0.122,  0.126,
00138   0.129,  0.132,  0.134,  0.136,  0.137,  0.138,  0.139,  0.140,
00139   0.140,  0.140,  0.139,  0.139,  0.138,  0.137,  0.136,  0.135,
00140   0.135,  0.111,  0.088,  0.070,  0.059,  0.047,  0.039,  0.033,
00141   0.029,  0.025,  0.022,  0.019,  0.017,  0.015,  0.014,  0.012,
00142   0.011,  0.010,  0.009,  0.009,  0.008,  0.007,  0.007,  0.006,
00143   0.006,  0.005,  0.005,  0.005,  0.005,  0.004,  0.004,  0.004,
00144   0.004,  0.003,  0.003,  0.003,  0.003,  0.003,  0.003,  0.003 
00145 };
00146 
00147 const G4double G4XDeltaDeltastarTable::sigmaDD1905[121] = 
00148 {
00149   0.0,
00150   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00151   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00152   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00153   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00154   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00155   0.001,  0.001,  0.003,  0.005,  0.009,  0.000,  0.000,  0.001,
00156   0.005,  0.018,  0.038,  0.061,  0.086,  0.110,  0.134,  0.157,
00157   0.178,  0.197,  0.216,  0.232,  0.248,  0.262,  0.274,  0.285,
00158   0.295,  0.304,  0.312,  0.318,  0.324,  0.329,  0.333,  0.336,
00159   0.338,  0.340,  0.341,  0.342,  0.342,  0.341,  0.340,  0.339,
00160   0.338,  0.293,  0.240,  0.196,  0.166,  0.135,  0.114,  0.098,
00161   0.084,  0.073,  0.064,  0.057,  0.055,  0.045,  0.041,  0.037,
00162   0.034,  0.031,  0.028,  0.026,  0.024,  0.022,  0.021,  0.019,
00163   0.018,  0.017,  0.016,  0.015,  0.014,  0.013,  0.012,  0.012,
00164   0.011,  0.011,  0.010,  0.010,  0.009,  0.009,  0.008,  0.008 
00165 };
00166 
00167 const G4double G4XDeltaDeltastarTable::sigmaDD1910[121] = 
00168 {
00169   0.0,
00170   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00171   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00172   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00173   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00174   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.001,
00175   0.001,  0.001,  0.002,  0.003,  0.005,  0.008,  0.000,  0.000,
00176   0.001,  0.004,  0.010,  0.018,  0.027,  0.035,  0.044,  0.052,
00177   0.059,  0.066,  0.073,  0.078,  0.083,  0.088,  0.092,  0.096,
00178   0.099,  0.102,  0.104,  0.106,  0.108,  0.110,  0.111,  0.112,
00179   0.112,  0.113,  0.113,  0.113,  0.112,  0.112,  0.112,  0.111,
00180   0.111,  0.094,  0.076,  0.062,  0.052,  0.042,  0.036,  0.030,
00181   0.026,  0.023,  0.020,  0.018,  0.016,  0.014,  0.013,  0.011,
00182   0.010,  0.009,  0.009,  0.008,  0.007,  0.007,  0.006,  0.006,
00183   0.006,  0.005,  0.005,  0.005,  0.004,  0.004,  0.004,  0.004,
00184   0.003,  0.003,  0.003,  0.003,  0.003,  0.003,  0.003,  0.002 
00185 };
00186 
00187 const G4double G4XDeltaDeltastarTable::sigmaDD1920[121] = 
00188 {
00189   0.0,
00190   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00191   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00192   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00193   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00194   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00195   0.001,  0.001,  0.001,  0.002,  0.003,  0.006,  0.000,  0.000,
00196   0.001,  0.007,  0.020,  0.040,  0.060,  0.080,  0.099,  0.117,
00197   0.133,  0.147,  0.160,  0.171,  0.181,  0.190,  0.198,  0.204,
00198   0.210,  0.215,  0.219,  0.222,  0.225,  0.227,  0.228,  0.229,
00199   0.229,  0.229,  0.229,  0.228,  0.227,  0.226,  0.224,  0.222,
00200   0.222,  0.183,  0.146,  0.117,  0.098,  0.078,  0.066,  0.056,
00201   0.048,  0.041,  0.036,  0.032,  0.028,  0.025,  0.023,  0.021,
00202   0.019,  0.017,  0.016,  0.014,  0.013,  0.012,  0.011,  0.011,
00203   0.010,  0.009,  0.009,  0.008,  0.008,  0.007,  0.007,  0.006,
00204   0.006,  0.006,  0.005,  0.005,  0.005,  0.005,  0.005,  0.004 
00205 };
00206 
00207 const G4double G4XDeltaDeltastarTable::sigmaDD1930[121] = 
00208 {
00209   0.0,
00210   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00211   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00212   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00213   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00214   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00215   0.000,  0.001,  0.001,  0.002,  0.004,  0.007,  0.000,  0.000,
00216   0.001,  0.004,  0.015,  0.033,  0.053,  0.075,  0.096,  0.117,
00217   0.136,  0.154,  0.171,  0.187,  0.201,  0.214,  0.225,  0.236,
00218   0.245,  0.253,  0.261,  0.267,  0.272,  0.277,  0.281,  0.284,
00219   0.287,  0.288,  0.290,  0.290,  0.291,  0.291,  0.290,  0.289,
00220   0.289,  0.251,  0.206,  0.168,  0.142,  0.115,  0.097,  0.083,
00221   0.071,  0.062,  0.059,  0.048,  0.043,  0.038,  0.035,  0.031,
00222   0.028,  0.026,  0.024,  0.022,  0.020,  0.019,  0.017,  0.016,
00223   0.015,  0.014,  0.013,  0.012,  0.012,  0.011,  0.010,  0.010,
00224   0.009,  0.009,  0.008,  0.008,  0.008,  0.007,  0.007,  0.007 
00225 };
00226 
00227 const G4double G4XDeltaDeltastarTable::sigmaDD1950[121] = 
00228 {
00229   0.0,
00230   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00231   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00232   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00233   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00234   0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,  0.000,
00235   0.000,  0.001,  0.001,  0.002,  0.003,  0.006,  0.011,  0.000,
00236   0.000,  0.002,  0.011,  0.029,  0.053,  0.078,  0.103,  0.128,
00237   0.151,  0.173,  0.194,  0.213,  0.230,  0.246,  0.261,  0.274,
00238   0.285,  0.296,  0.305,  0.313,  0.320,  0.326,  0.331,  0.335,
00239   0.339,  0.342,  0.344,  0.345,  0.346,  0.346,  0.345,  0.344,
00240   0.344,  0.301,  0.247,  0.202,  0.170,  0.139,  0.117,  0.099,
00241   0.086,  0.075,  0.065,  0.058,  0.051,  0.046,  0.042,  0.038,
00242   0.034,  0.031,  0.029,  0.026,  0.024,  0.022,  0.021,  0.019,
00243   0.018,  0.017,  0.016,  0.015,  0.014,  0.013,  0.013,  0.012,
00244   0.011,  0.011,  0.010,  0.010,  0.009,  0.009,  0.008,  0.008 
00245 };
00246 
00247 
00248 
00249 G4XDeltaDeltastarTable::G4XDeltaDeltastarTable() 
00250 {
00251   xMap["delta(1600)-"] = (G4double*) sigmaDD1600;
00252   xMap["delta(1600)0"] = (G4double*) sigmaDD1600;
00253   xMap["delta(1600)+"] = (G4double*) sigmaDD1600;
00254   xMap["delta(1600)++"] = (G4double*) sigmaDD1600;
00255 
00256   xMap["delta(1620)-"] = (G4double*) sigmaDD1620;
00257   xMap["delta(1620)0"] = (G4double*) sigmaDD1620;
00258   xMap["delta(1620)+"] = (G4double*) sigmaDD1620;
00259   xMap["delta(1620)++"] = (G4double*) sigmaDD1620;
00260 
00261   xMap["delta(1700)-"] = (G4double*) sigmaDD1700;
00262   xMap["delta(1700)0"] = (G4double*) sigmaDD1700;
00263   xMap["delta(1700)+"] = (G4double*) sigmaDD1700;
00264   xMap["delta(1700)++"] = (G4double*) sigmaDD1700;
00265 
00266   xMap["delta(1900)-"] = (G4double*) sigmaDD1900;
00267   xMap["delta(1900)0"] = (G4double*) sigmaDD1900;
00268   xMap["delta(1900)+"] = (G4double*) sigmaDD1900;
00269   xMap["delta(1900)++"] = (G4double*) sigmaDD1900;
00270 
00271   xMap["delta(1905)-"] = (G4double*) sigmaDD1905;
00272   xMap["delta(1905)0"] = (G4double*) sigmaDD1905;
00273   xMap["delta(1905)+"] = (G4double*) sigmaDD1905;
00274   xMap["delta(1905)++"] = (G4double*) sigmaDD1905;
00275 
00276   xMap["delta(1910)-"] = (G4double*) sigmaDD1910;
00277   xMap["delta(1910)0"] = (G4double*) sigmaDD1910;
00278   xMap["delta(1910)+"] = (G4double*) sigmaDD1910;
00279   xMap["delta(1910)++"] = (G4double*) sigmaDD1910;
00280 
00281   xMap["delta(1920)-"] = (G4double*) sigmaDD1920;
00282   xMap["delta(1920)0"] = (G4double*) sigmaDD1920;
00283   xMap["delta(1920)+"] = (G4double*) sigmaDD1920;
00284   xMap["delta(1920)++"] = (G4double*) sigmaDD1920;
00285 
00286   xMap["delta(1930)-"] = (G4double*) sigmaDD1930;
00287   xMap["delta(1930)0"] = (G4double*) sigmaDD1930;
00288   xMap["delta(1930)+"] = (G4double*) sigmaDD1930;
00289   xMap["delta(1930)++"] = (G4double*) sigmaDD1930;
00290 
00291   xMap["delta(1950)-"] = (G4double*) sigmaDD1950;
00292   xMap["delta(1950)0"] = (G4double*) sigmaDD1950;
00293   xMap["delta(1950)+"] = (G4double*) sigmaDD1950;
00294   xMap["delta(1950)++"] = (G4double*) sigmaDD1950;
00295 }
00296 
00297 
00298 G4XDeltaDeltastarTable::~G4XDeltaDeltastarTable()
00299 { }
00300 
00301 
00302 const G4PhysicsVector* G4XDeltaDeltastarTable::CrossSectionTable(const G4String& particleName) const
00303 {
00304   // NOTE: the returned pointer is owned by the client
00305 
00306   if (xMap.find(particleName) != xMap.end())
00307     {
00308       // Cross section table for the requested particle available in the Map
00309       G4PhysicsFreeVector* sigmaVector = new G4PhysicsFreeVector(sizeDeltaDeltastar);
00310       std::map <G4String, G4double*, std::less<G4String> >::const_iterator iter;
00311       G4double* sigmaPointer = 0;
00312       for (iter = xMap.begin(); iter != xMap.end(); ++iter)
00313         {
00314           G4String str = (*iter).first;
00315           if (str == particleName)
00316             {
00317               sigmaPointer = (*iter).second; 
00318             }
00319         }
00320 
00321       G4int i;
00322       for (i=0; i<sizeDeltaDeltastar; i++)
00323         {
00324           G4double value = *(sigmaPointer + i) * 0.5* millibarn;
00325           G4double energy = energyTable[i] * GeV;
00326           sigmaVector->PutValue(i,energy,value);
00327         }           
00328       return sigmaVector;
00329     }
00330   else
00331     // No cross section table for the requested particle is available in the Map
00332     return 0;
00333 }
00334 
00335 
00336 

Generated on Mon May 27 17:50:26 2013 for Geant4 by  doxygen 1.4.7