00001 00002 #ifndef LARUTILCONSTANTS_HH 00003 #define LARUTILCONSTANTS_HH 00004 00005 #include "GeoConstants.hh" 00006 00007 namespace larutil{ 00008 00010 const std::string kUTIL_DATA_FILENAME[larlight::GEO::kDetIdMax] = 00011 { "", // Bo 00012 "larutil_argoneut.root", // ArgoNeuT 00013 "larutil_microboone.root", // MicroBoone 00014 "", // LBNE 10kt 00015 "", // JPARC 250 L 00016 "", // 35t prototype 00017 "", // LBNE 34kt 00018 "", // CSU 40 L 00019 "", // LArIAT 00020 "" // ICARUS T600 00021 }; 00022 00023 const std::string kTREENAME_GEOMETRY = "scanner/Geometry"; 00024 const std::string kTREENAME_DETECTORPROPERTIES = "scanner/DetectorProperties"; 00025 const std::string kTREENAME_LARPROPERTIES = "scanner/LArProperties"; 00026 00027 //--- LArSoft parameters ---// 00028 00029 // Recombination factor coefficients come from Nucl.Instrum.Meth.A523:275-286,2004 00030 // R = A/(1 + (dE/dx)*k/Efield) 00031 // dE/dx is given by the voxel energy deposition, but have to convert it to MeV/cm 00032 // from GeV/voxel width 00033 // A = 0.800 +/- 0.003 00034 // k = 0.0486 needs to be scaled with Electric field. 00035 // Efield in kV/cm 00036 static const double kRecombA = 0.8; 00037 static const double kRecombk = 0.0486; 00038 static const double kModBoxA = 0.930; // Modified Box Alpha (ArgoNeuT JINST) 00039 static const double kModBoxB = 0.212; // in g/(MeVcm^{2})*kV/cm 00040 // static const double kWion = 23.6e-6; ///< ionization potenial in LAr, 23.6 eV = 1e, Wion in MeV/e 00041 00042 // Conversion for energy deposited in GeV to number of ionization electrons produced 00043 static const double kGeVToElectrons = 4.237e7; 00044 00045 // More constants 00046 //static double kc = 2.99792458e10; ///< cm/s 00047 //static double khbar = 6.58211899e-22; ///< MeVs 00048 00049 // Conversion factors 00050 static const double kMeterToCentimeter = 1.e2; 00051 static const double kCentimeterToMeter = 1./kMeterToCentimeter; 00052 static const double kMeterToKilometer = 1.e-3; 00053 static const double kKilometerToMeter = 1./kMeterToKilometer; 00054 00055 static const double keVToMeV = 1.e-6; 00056 static const double kMeVToeV = 1./keVToMeV; 00057 00058 static const double kBogusD = -999.; 00059 static const int kBogusI = -999; 00060 static const float kBogusF = -999.; 00061 static const double quietCompiler = kBogusD*kBogusI*kBogusF*kRecombA*kRecombk*kGeVToElectrons; 00062 } 00063 00064 #endif