#include <Rtypes.h>#include <TROOT.h>#include <TMCProcess.h>Go to the source code of this file.
|
|
Definition at line 19 of file UtilIstHEP.h. Referenced by UtilIstHEP::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 UtilIstHEP::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 UtilIstHEP::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 UtilIstHEP::kNDecayed, UtilIstHEP::kNDIS, UtilIstHEP::kNFinal, UtilIstHEP::kNInitial, UtilIstHEP::kNIntermediate, UtilIstHEP::kNRes, UtilIstHEP::kNRescatter, UtilIstHEP::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 UtilIstHEP::ENeugenIstHEP, UtilIstHEP::EProdMethod, UtilIstHEP::kMDecay, and UtilIstHEP::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 UtilIstHEP::kMAnnihilation, UtilIstHEP::kMAnnihilationFlight, UtilIstHEP::kMAnnihilationRest, UtilIstHEP::kMBrem, UtilIstHEP::kMCerenkov, UtilIstHEP::kMCompton, UtilIstHEP::kMDecay, UtilIstHEP::kMDeltaRay, UtilIstHEP::kMElectronNuclear, UtilIstHEP::kMEnergyLoss, UtilIstHEP::kMEvaporation, UtilIstHEP::kMFeedBackPhoton, UtilIstHEP::kMHadronic, UtilIstHEP::kMHCElastic, UtilIstHEP::kMHElastic, UtilIstHEP::kMHIElastic, UtilIstHEP::kMHInhelastic, UtilIstHEP::kMLightAbsorption, UtilIstHEP::kMLightDetection, UtilIstHEP::kMLightReflection, UtilIstHEP::kMLightRefraction, UtilIstHEP::kMLightScattering, UtilIstHEP::kMMagneticFieldL, UtilIstHEP::kMMultipleScattering, UtilIstHEP::kMMuonNuclear, UtilIstHEP::kMNbarAnnihilation, UtilIstHEP::kMNCapture, UtilIstHEP::kMNoProcess, UtilIstHEP::kMNuclearAbsorption, UtilIstHEP::kMNuclearFission, UtilIstHEP::kMNull, UtilIstHEP::kMPair, UtilIstHEP::kMPbarAnnihilation, UtilIstHEP::kMPhotoelectric, UtilIstHEP::kMPhotoFission, UtilIstHEP::kMPhotonInhelastic, UtilIstHEP::kMPositronNuclear, UtilIstHEP::kMPrimary, UtilIstHEP::kMRayleigh, UtilIstHEP::kMScintillation, UtilIstHEP::kMStepMax, UtilIstHEP::kMStop, UtilIstHEP::kMSynchrotron, UtilIstHEP::kMTOFlimit, UtilIstHEP::kMTransportation, and MSG. Referenced by UtilIstHEP::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 UtilIstHEP::AsString(). |
1.3.9.1