![]() |
HepPDT Reference DocumentationHepPDT |
00001 // ---------------------------------------------------------------------- 00002 // 00003 // HeavyIonUnknownID.cc 00004 // Author: Lynn Garren 00005 // 00006 // ---------------------------------------------------------------------- 00007 #include "HepPDT/HeavyIonUnknownID.hh" 00008 #include "HepPDT/ParticleDataTable.hh" 00009 00010 namespace HepPDT { 00011 00012 ParticleData * HeavyIonUnknownID::processUnknownID 00013 ( ParticleID key, const ParticleDataTable & pdt ) 00014 { 00015 ParticleData * pd = 0; 00016 if( key.isNucleus() ) { 00017 00018 // have to create a TempParticleData with all properties first 00019 TempParticleData tpd(key); 00020 // calculate approximate mass 00021 // WARNING: any calls to particle() from here MUST reference 00022 // a ParticleData which is already in the table 00023 // This convention is enforced. 00024 const ParticleData * proton = pdt.particle(2212); 00025 if( proton ) { 00026 double protonMass = proton->mass(); 00027 tpd.tempMass = Measurement(key.A()*protonMass, 0.); 00028 pd = new ParticleData(tpd); 00029 } 00030 } 00031 return pd; 00032 } 00033 00034 } // HepPDT