|
|
Definition at line 19 of file UtilIstHEP.h. Referenced by AsString(). 00019 {
00020 // Status codes are those defined by neugen in $NEUGEN3PATH/inc/fncodes.inc
00021 kNInitial=0, // Initial (0)
00022 kNFinal=1, // Final (1)
00023 kNIntermediate=2, // Intermediate (2)
00024 kNDecayed=3, // Decayed (3)
00025 kNTarget=11, // Target (11)
00026 kNDIS=12, // DIS (12)
00027 kNRes=13, // Res (13)
00028 kNRescatter=14 // Rescatter (14)
00029 };
|
|
|
Definition at line 35 of file UtilIstHEP.h. Referenced by AsString(). 00035 {
00036 // Note: The order of the production method codes should be preserved so
00037 // that the status code stored with the stdhep particle retains
00038 // meaning even for older versions of the code. New production method
00039 // codes should be added to the end of the list and associated methods
00040 // (GetProdMethod,etc.) should be updated accordingly.
00041
00042 kMPrimary, // Primary interaction
00043
00044 kMMultipleScattering, // multiple scattering
00045 kMEnergyLoss, // continuous energy loss
00046 kMMagneticFieldL, // bending in mag. field
00047 kMDecay, // particle decay
00048 kMPair, // photon pair production or
00049 // muon direct pair production
00050 kMCompton, // Compton scattering
00051 kMPhotoelectric, // photoelectric effect
00052 kMBrem, // bremsstrahlung
00053 kMDeltaRay, // delta-ray production
00054 kMAnnihilation, // positron annihilation
00055
00056 kMHadronic, // hadronic interaction
00057 kMEvaporation, // nuclear evaporation
00058 kMNuclearFission, // nuclear fission
00059 kMNuclearAbsorption, // nuclear absorption
00060 kMPbarAnnihilation, // antiproton annihilation
00061 kMNCapture, // neutron capture
00062 kMHElastic, // hadronic elastic scattering
00063 kMHInhelastic, // hadronic inelastic scattering
00064
00065 kMMuonNuclear, // muon nuclear interaction
00066
00067 kMTOFlimit, // exceeded time of flight cut
00068 kMPhotoFission, // nuclear photofission
00069
00070 kMRayleigh, // Rayleigh scattering
00071
00072 kMNull, // no mechanism is active, usually at the entrance
00073 // of a new volume
00074 kMStop, // particle has fallen below energy threshold
00075 // and tracking stops
00076
00077 kMLightAbsorption, // Cerenkov photon absorption
00078 kMLightDetection, // Optical photon detection (absorption + photoelectron production)
00079 kMLightScattering, // Cerenkov photon reflection/refraction
00080 kMStepMax, // step limited by STEMAX
00081
00082 kMCerenkov, // Cerenkov photon generation
00083 kMFeedBackPhoton, // Feed back photon in RICH -- ALICE specific
00084 kMLightReflection, // Cerenkov photon reflection
00085 kMLightRefraction, // Cerenkov photon refraction
00086 kMSynchrotron, // synchrotron radiation generation
00087
00088 kMTransportation, // Transportation
00089
00090 kMNoProcess, // unknown process
00091
00092 // The set of corresponding TMCProcess codes for the following
00093 // only appeared in ROOT beginning with v5.17/06
00094 kMAnnihilationRest, // positron annihilation at rest
00095 kMAnnihilationFlight, // positron annihilation in flight
00096 kMNbarAnnihilation, // antineutron annihilation
00097 kMHIElastic, // hadronic elastic incoherent scattering
00098 kMHCElastic, // hadronic elastic coherent scattering
00099 kMPhotonInhelastic, // photon inelastic scattering
00100 kMElectronNuclear, // electron nuclear interaction
00101 kMPositronNuclear, // positron nuclear interaction
00102 kMScintillation, // scintillation
00103
00104 kUnknownProdMethod
00105 };
|
|
|
Definition at line 306 of file UtilIstHEP.cxx. References GetTMCProcess(). 00306 {
00307 // Purpose: Convert production method status code to a string
00308
00309 TMCProcess processcode = GetTMCProcess(prodmethod);
00310 return TMCProcessName[processcode];
00311
00312 }
|
|
|
Definition at line 27 of file UtilIstHEP.cxx. References kNDecayed, kNDIS, kNFinal, kNInitial, kNIntermediate, kNRes, kNRescatter, kNTarget, and MSG. 00027 {
00028 // Purpose: Convert enumerated Neugen IstHEP code to a string.
00029 // Return: isthep string. If unknown, returns "Unknown".
00030
00031 switch ( neugenisthep ) {
00032
00033 case kNInitial:
00034 return "Initial";
00035 case kNFinal:
00036 return "Final";
00037 case kNIntermediate:
00038 return "Intermediate";
00039 case kNDecayed:
00040 return "Decayed";
00041 case kNTarget:
00042 return "Target";
00043 case kNDIS:
00044 return "DIS";
00045 case kNRes:
00046 return "Res";
00047 case kNRescatter:
00048 return "Rescatter";
00049 default:
00050 MSG("Util",Msg::kWarning)
00051 << "UtilIstHEP::AsString called with unknown ENeugenIstHEP "
00052 << (Int_t)neugenisthep << endl;
00053 return "Unknown";
00054
00055 }//end of switch
00056
00057 }
|
|
|
Definition at line 315 of file UtilIstHEP.cxx. References ENeugenIstHEP, EProdMethod, kMDecay, and kProdMethodOffset. Referenced by MCAppParticle::GetStatusCodeName(), PTSimModule::HandleCommand(), PTSimValidate::TestParticle(), and MCAppValidate::TestParticle(). 00315 {
00316 // Purpose: Convert isthep status code to a string.
00317 //
00318 // Argument: isthep code.
00319 //
00320 // Return: isthep string. If unknown, returns "Unknown".
00321 //
00322 // Notes: If isthep < 200 => Neugen IstHEP code
00323 // If isthep >= kProdMethodOffset
00324 // && isthep < kProdMethodOffset + kNProdMethod
00325 // => EProdMethod production method code
00326 // If isthep == 999 => "Info"
00327 // If isthep == kProdMethodOffset + kMDecay + 1000
00328 // => "Decay Parent"
00329 // Otherwise return "Unknown"
00330
00331
00332 if ( isthep < 200 ) {
00333 ENeugenIstHEP neugenisthep = (ENeugenIstHEP)isthep;
00334 return AsString(neugenisthep);
00335 }
00336 else if ( isthep >= kProdMethodOffset
00337 && isthep < kProdMethodOffset + kNProdMethod ) {
00338 EProdMethod prodmethod = (EProdMethod)(isthep-kProdMethodOffset);
00339 return AsString(prodmethod);
00340 }
00341 else if ( isthep == 999 ) {
00342 return "Info";
00343 }
00344 else if ( isthep == (kProdMethodOffset + kMDecay + 1000) ) {
00345 return "Decay Parent";
00346 }
00347 else {
00348 //MSG("Util",Msg::kWarning)
00349 // << "UtilIstHEP::AsString called with unknown isthep code "
00350 // << isthep << endl;
00351 return "Unknown";
00352 }
00353
00354 }
|
|
|
Definition at line 279 of file UtilIstHEP.cxx. 00279 {
00280 // Purpose: Convert text string isthepname to an enumerated code.
00281 //
00282 // Argument: isthepname string
00283 //
00284 // Return: returns -1 if no match
00285 //
00286
00287 TString tmpstr(isthepname);
00288 tmpstr.ToLower();
00289 if ( strcmp(tmpstr.Data(),"initial") == 0 ) return UtilIstHEP::kNInitial;
00290 else if ( strcmp(tmpstr.Data(),"final") == 0 ) return UtilIstHEP::kNFinal;
00291 else if ( strcmp(tmpstr.Data(),"intermediate") == 0 )
00292 return UtilIstHEP::kNIntermediate;
00293 else if ( strcmp(tmpstr.Data(),"decayed") == 0 )
00294 return UtilIstHEP::kNDecayed;
00295 else if ( strcmp(tmpstr.Data(),"target") == 0 ) return UtilIstHEP::kNTarget;
00296 else if ( strcmp(tmpstr.Data(),"dis") == 0 ) return UtilIstHEP::kNDIS;
00297 else if ( strcmp(tmpstr.Data(),"res") == 0 ) return UtilIstHEP::kNRes;
00298 else if ( strcmp(tmpstr.Data(),"rescatter") == 0 )
00299 return UtilIstHEP::kNRescatter;
00300
00301 return -1;
00302
00303 }
|
|
|
Definition at line 60 of file UtilIstHEP.cxx. References MSG. Referenced by PTSimStack::PushTrack(). 00060 {
00061 // Purpose: Interpret a TMCProcess as an EProdMethod
00062
00063 switch (process) {
00064
00065 case kPPrimary:
00066 return kMPrimary;
00067 case kPMultipleScattering:
00068 return kMMultipleScattering;
00069 case kPEnergyLoss:
00070 return kMEnergyLoss;
00071 case kPMagneticFieldL:
00072 return kMMagneticFieldL;
00073 case kPDecay:
00074 return kMDecay;
00075 case kPPair:
00076 return kMPair;
00077 case kPCompton:
00078 return kMCompton;
00079 case kPPhotoelectric:
00080 return kMPhotoelectric;
00081 case kPBrem:
00082 return kMBrem;
00083 case kPDeltaRay:
00084 return kMDeltaRay;
00085 case kPAnnihilation:
00086 return kMAnnihilation;
00087 case kPHadronic:
00088 return kMHadronic;
00089 case kPEvaporation:
00090 return kMEvaporation;
00091 case kPNuclearFission:
00092 return kMNuclearFission;
00093 case kPNuclearAbsorption:
00094 return kMNuclearAbsorption;
00095 case kPPbarAnnihilation:
00096 return kMPbarAnnihilation;
00097 case kPNCapture:
00098 return kMNCapture;
00099 case kPHElastic:
00100 return kMHElastic;
00101 case kPHInhelastic:
00102 return kMHInhelastic;
00103 case kPMuonNuclear:
00104 return kMMuonNuclear;
00105 case kPTOFlimit:
00106 return kMTOFlimit;
00107 case kPPhotoFission:
00108 return kMPhotoFission;
00109 case kPRayleigh:
00110 return kMRayleigh;
00111 case kPNull:
00112 return kMNull;
00113 case kPStop:
00114 return kMStop;
00115 case kPLightAbsorption:
00116 return kMLightAbsorption;
00117 case kPLightDetection:
00118 return kMLightDetection;
00119 case kPLightScattering:
00120 return kMLightScattering;
00121 case kStepMax:
00122 return kMStepMax;
00123 case kPCerenkov:
00124 return kMCerenkov;
00125 case kPFeedBackPhoton:
00126 return kMFeedBackPhoton;
00127 case kPLightReflection:
00128 return kMLightReflection;
00129 case kPLightRefraction:
00130 return kMLightRefraction;
00131 case kPSynchrotron:
00132 return kMSynchrotron;
00133 case kPTransportation:
00134 return kMTransportation;
00135 case kPNoProcess:
00136 return kMNoProcess;
00137 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,17,06)
00138 // These only appeared in TMCProcess beginning with ROOT v5.17/06
00139 case kPAnnihilationRest:
00140 return kMAnnihilationRest;
00141 case kPAnnihilationFlight:
00142 return kMAnnihilationFlight;
00143 case kPNbarAnnihilation:
00144 return kMNbarAnnihilation;
00145 case kPHIElastic:
00146 return kMHIElastic;
00147 case kPHCElastic:
00148 return kMHCElastic;
00149 case kPPhotonInhelastic:
00150 return kMPhotonInhelastic;
00151 case kPElectronNuclear:
00152 return kMElectronNuclear;
00153 case kPPositronNuclear:
00154 return kMPositronNuclear;
00155 case kPScintillation:
00156 return kMScintillation;
00157 #endif
00158 default:
00159 MSG("Util",Msg::kError) << "UtilIstHEP::GetProdMethod for TMCProcess "
00160 << process << "/" << TMCProcessName[process]
00161 << " failed!\nUpdate UtilIstHEP to include "
00162 << "missing process. Abort." << endl;
00163 abort();
00164 }
00165
00166 }
|
|
|
Definition at line 169 of file UtilIstHEP.cxx. References kMAnnihilation, kMAnnihilationFlight, kMAnnihilationRest, kMBrem, kMCerenkov, kMCompton, kMDecay, kMDeltaRay, kMElectronNuclear, kMEnergyLoss, kMEvaporation, kMFeedBackPhoton, kMHadronic, kMHCElastic, kMHElastic, kMHIElastic, kMHInhelastic, kMLightAbsorption, kMLightDetection, kMLightReflection, kMLightRefraction, kMLightScattering, kMMagneticFieldL, kMMultipleScattering, kMMuonNuclear, kMNbarAnnihilation, kMNCapture, kMNoProcess, kMNuclearAbsorption, kMNuclearFission, kMNull, kMPair, kMPbarAnnihilation, kMPhotoelectric, kMPhotoFission, kMPhotonInhelastic, kMPositronNuclear, kMPrimary, kMRayleigh, kMScintillation, kMStepMax, kMStop, kMSynchrotron, kMTOFlimit, kMTransportation, and MSG. Referenced by AsString(), and PTSimModule::HandleCommand(). 00169 {
00170 // Purpose: Interpret a EProdMethod as a TMCProcess
00171
00172 switch (prodmethod) {
00173
00174 case kMPrimary:
00175 return kPPrimary;
00176 case kMMultipleScattering:
00177 return kPMultipleScattering;
00178 case kMEnergyLoss:
00179 return kPEnergyLoss;
00180 case kMMagneticFieldL:
00181 return kPMagneticFieldL;
00182 case kMDecay:
00183 return kPDecay;
00184 case kMPair:
00185 return kPPair;
00186 case kMCompton:
00187 return kPCompton;
00188 case kMPhotoelectric:
00189 return kPPhotoelectric;
00190 case kMBrem:
00191 return kPBrem;
00192 case kMDeltaRay:
00193 return kPDeltaRay;
00194 case kMAnnihilation:
00195 return kPAnnihilation;
00196 case kMHadronic:
00197 return kPHadronic;
00198 case kMEvaporation:
00199 return kPEvaporation;
00200 case kMNuclearFission:
00201 return kPNuclearFission;
00202 case kMNuclearAbsorption:
00203 return kPNuclearAbsorption;
00204 case kMPbarAnnihilation:
00205 return kPPbarAnnihilation;
00206 case kMNCapture:
00207 return kPNCapture;
00208 case kMHElastic:
00209 return kPHElastic;
00210 case kMHInhelastic:
00211 return kPHInhelastic;
00212 case kMMuonNuclear:
00213 return kPMuonNuclear;
00214 case kMTOFlimit:
00215 return kPTOFlimit;
00216 case kMPhotoFission:
00217 return kPPhotoFission;
00218 case kMRayleigh:
00219 return kPRayleigh;
00220 case kMNull:
00221 return kPNull;
00222 case kMStop:
00223 return kPStop;
00224 case kMLightAbsorption:
00225 return kPLightAbsorption;
00226 case kMLightDetection:
00227 return kPLightDetection;
00228 case kMLightScattering:
00229 return kPLightScattering;
00230 case kMStepMax:
00231 return kStepMax;
00232 case kMCerenkov:
00233 return kPCerenkov;
00234 case kMFeedBackPhoton:
00235 return kPFeedBackPhoton;
00236 case kMLightReflection:
00237 return kPLightReflection;
00238 case kMLightRefraction:
00239 return kPLightRefraction;
00240 case kMSynchrotron:
00241 return kPSynchrotron;
00242 case kMTransportation:
00243 return kPTransportation;
00244 case kMNoProcess:
00245 return kPNoProcess;
00246 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,17,06)
00247 // These only appeared in TMCProcess beginning with ROOT v5.17/06
00248 case kMAnnihilationRest:
00249 return kPAnnihilationRest;
00250 case kMAnnihilationFlight:
00251 return kPAnnihilationFlight;
00252 case kMNbarAnnihilation:
00253 return kPNbarAnnihilation;
00254 case kMHIElastic:
00255 return kPHIElastic;
00256 case kMHCElastic:
00257 return kPHCElastic;
00258 case kMPhotonInhelastic:
00259 return kPPhotonInhelastic;
00260 case kMElectronNuclear:
00261 return kPElectronNuclear;
00262 case kMPositronNuclear:
00263 return kPPositronNuclear;
00264 case kMScintillation:
00265 return kPScintillation;
00266 #endif
00267 default:
00268 MSG("Util",Msg::kError) << "UtilIstHEP::GetTMCProcess for EProdMethod "
00269 << prodmethod
00270 << " failed!\nUpdate UtilIstHEP to include "
00271 << "missing production method. Abort." << endl;
00272 abort();
00273 }
00274
00275 }
|
|
|
Definition at line 107 of file UtilIstHEP.h. |
|
|
Definition at line 33 of file UtilIstHEP.h. Referenced by AsString(). |
1.3.9.1