G4ParticleTypeConverter.hh

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 
00027 #ifndef G4PARTICLETYPECONVERTER_HH
00028 #define G4PARTICLETYPECONVERTER_HH
00029 
00030 #include "G4KineticTrack.hh"
00031 #include "G4ParticleDefinition.hh"
00032 
00033 #include <map>
00034 
00035 class G4ParticleTypeConverter
00036 {
00037 public:
00038 
00039   enum GenericType { NUCLEON, 
00040                      N1440, N1520, N1535, N1650, N1675, N1680, N1700, N1710, N1720, N1900, N1990, N2090, N2190, N2220, N2250,
00041                      D1232, D1600, D1620, D1700, D1900, D1905, D1910, D1920, D1930, D1950,
00042                      L1405, L1520, L1600, L1670, L1690, L1800, L1810, L1820, L1830, L1890, L2100, L2110,
00043                      Sigma, S1385, S1660, S1670, S1750, S1775, S1915, S1940, S2030,
00044                      X1530, X1690, X1820, X1950, X2030,
00045                      GAMMA, PION, KAON, ETA, RHO, omega, Lambda, UNKNOWN };
00046 
00047   G4ParticleTypeConverter();
00048 
00049   GenericType GetGenericType(const G4ParticleDefinition* const aParticleDef);
00050   GenericType GetGenericType(const G4KineticTrack& aTrack);
00051   GenericType GetGenericType(const G4String& aParticleName);
00052 
00053   G4int GetUrqmdItyp(GenericType gType);
00054   G4int GetUrqmdItyp(const G4ParticleDefinition* aParticleDef);
00055 
00056   const G4ParticleDefinition* FindIso3State(const GenericType gType, const G4int isospin3);
00057 
00058 private:
00059 
00060   typedef std::vector<std::pair<const G4ParticleDefinition*, GenericType> >::const_iterator MapIterator; 
00061   std::vector<std::pair<const G4ParticleDefinition*, GenericType> > defMap;
00062 
00063 };
00064 
00065 
00066 #endif
00067 
00068 
00069 
00070 

Generated on Mon May 27 17:49:16 2013 for Geant4 by  doxygen 1.4.7