From 4466c6480069740f0a2511b2365f3e7a88d0a24a Mon Sep 17 00:00:00 2001 From: Rene Brun <Rene.Brun@cern.ch> Date: Thu, 9 Jun 2005 06:23:47 +0000 Subject: [PATCH] From Constantin Loizides Add a new function converting from PDG to Geant numbering scheme. git-svn-id: http://root.cern.ch/svn/root/trunk@12000 27541ba8-7e3a-0410-8455-c3a389f83636 --- eg/inc/TDatabasePDG.h | 3 ++- eg/src/TDatabasePDG.cxx | 58 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 2 deletions(-) diff --git a/eg/inc/TDatabasePDG.h b/eg/inc/TDatabasePDG.h index d687feb916b..da685a70cbe 100644 --- a/eg/inc/TDatabasePDG.h +++ b/eg/inc/TDatabasePDG.h @@ -1,4 +1,4 @@ -// @(#)root/eg:$Name: $:$Id: TDatabasePDG.h,v 1.5 2001/11/22 07:38:21 brun Exp $ +// @(#)root/eg:$Name: v4-04-02 $:$Id: TDatabasePDG.h,v 1.6 2004/08/19 20:00:14 brun Exp $ // Author: Pasha Murat 12/02/99 /************************************************************************* @@ -48,6 +48,7 @@ public: Int_t TrackingCode=0); virtual Int_t ConvertGeant3ToPdg(Int_t Geant3Number); + virtual Int_t ConvertPdgToGeant3(Int_t pdgNumber); virtual Int_t ConvertIsajetToPdg(Int_t isaNumber); virtual TParticlePDG* AddAntiParticle(const char* Name, Int_t PdgCode); diff --git a/eg/src/TDatabasePDG.cxx b/eg/src/TDatabasePDG.cxx index cc1cb1a6a73..00e2f1eaf7c 100644 --- a/eg/src/TDatabasePDG.cxx +++ b/eg/src/TDatabasePDG.cxx @@ -1,4 +1,4 @@ -// @(#)root/eg:$Name: $:$Id: TDatabasePDG.cxx,v 1.19 2002/07/19 08:28:32 rdm Exp $ +// @(#)root/eg:$Name: v4-04-02 $:$Id: TDatabasePDG.cxx,v 1.20 2002/12/02 18:50:02 rdm Exp $ // Author: Pasha Murat 12/02/99 #ifdef HAVE_CONFIG @@ -276,6 +276,62 @@ Int_t TDatabasePDG::ConvertGeant3ToPdg(Int_t Geant3number) { } } +//______________________________________________________________________________ +Int_t TDatabasePDG::ConvertPdgToGeant3(Int_t pdgNumber) { + // Converts pdg code to geant3 id + + switch(pdgNumber) { + + case 22 : return 1; // photon + case -2112 : return 25; // anti-neutron + case -11 : return 2; // e+ + case -3122 : return 26; // anti-Lambda + case 11 : return 3; // e- + case -3222 : return 27; // Sigma- + case 12 : return 4; // e-neutrino (NB: flavour undefined by Geant) + case -3212 : return 28; // Sigma0 + case -13 : return 5; // mu+ + case -3112 : return 29; // Sigma+ (PB)*/ + case 13 : return 6; // mu- + case -3322 : return 30; // Xi0 + case 111 : return 7; // pi0 + case -3312 : return 31; // Xi+ + case 211 : return 8; // pi+ + case -3334 : return 32; // Omega+ (PB) + case -211 : return 9; // pi- + case -15 : return 33; // tau+ + case 130 : return 10; // K long + case 15 : return 34; // tau- + case 321 : return 11; // K+ + case 411 : return 35; // D+ + case -321 : return 12; // K- + case -411 : return 36; // D- + case 2112 : return 13; // n + case 421 : return 37; // D0 + case 2212 : return 14; // p + case -421 : return 38; // D0 + case -2212 : return 15; // anti-proton + case 431 : return 39; // Ds+ + case 310 : return 16; // K short + case -431 : return 40; // anti Ds- + case 221 : return 17; // eta + case 4122 : return 41; // Lamba_c+ + case 3122 : return 18; // Lambda + case 24 : return 42; // W+ + case 3222 : return 19; // Sigma+ + case -24 : return 43; // W- + case 3212 : return 20; // Sigma0 + case 23 : return 44; // Z + case 3112 : return 21; // Sigma- + case 3322 : return 22; // Xi0 + case 3312 : return 23; // Xi- + case 3334 : return 24; // Omega- (PB) + + default : return 0; + + } +} + //______________________________________________________________________________ Int_t TDatabasePDG::ConvertIsajetToPdg(Int_t isaNumber) { -- GitLab