G4DNAGenericIonsManager.cc

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 // $Id$
00027 
00028 #include "G4DNAGenericIonsManager.hh"
00029 #include "G4PhysicalConstants.hh"
00030 #include "G4SystemOfUnits.hh"
00031 #include "G4Alpha.hh"
00032 #include "G4Ions.hh"
00033 
00034 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
00035 
00036 G4DNAGenericIonsManager * G4DNAGenericIonsManager :: Instance(void)
00037 {
00038  if (!theInstance)
00039   theInstance=new G4DNAGenericIonsManager;
00040  
00041  return theInstance;
00042 }
00043 
00044 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
00045 
00046 G4ParticleDefinition * G4DNAGenericIonsManager :: GetIon(const G4String & name)
00047 {
00048  IonsMap::const_iterator i(map.find(name));
00049  
00050  if (i==map.end())
00051   return 0;
00052   
00053  return i->second;
00054 }
00055 
00056 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
00057 
00058 G4DNAGenericIonsManager :: G4DNAGenericIonsManager()
00059 {
00060   //               name             mass          width         charge
00061   //             2*spin           parity  C-conjugation
00062   //          2*Isospin       2*Isospin3       G-parity
00063   //               type    lepton number  baryon number   PDG encoding
00064   //             stable         lifetime    decay table
00065   //         shortlived          subType  anti_encoding
00066   //         excitation   
00067   
00068  G4Ions *helium;
00069  G4Ions *hydrogen;
00070  G4Ions *alphaPlus;
00071  G4Ions *positronium1s;
00072  G4Ions *positronium2s;
00073  
00074  G4Ions *carbon;
00075  G4Ions *nitrogen;
00076  G4Ions *oxygen;
00077  G4Ions *iron;
00078 
00079  iron=     new G4Ions(
00080                         "iron",    52.5672*GeV,       0.0*MeV,  +26.0*eplus,
00081                         0,              +1,             0,
00082                         0,               0,             0,
00083                         "nucleus",              +26,            +56,           0,
00084                         true,                -1.0,             0,       
00085                         false,                "",               0,             
00086                         0.0);
00087 
00088  oxygen=   new G4Ions(
00089                         "oxygen",    15.0074*GeV,       0.0*MeV,  +8.0*eplus,
00090                         0,              +1,             0,
00091                         0,               0,             0,
00092                         "nucleus",              +8,            +16,           0,
00093                         true,                -1.0,             0,       
00094                         false,                "",               0,             
00095                         0.0);
00096 
00097 
00098  nitrogen= new G4Ions(
00099                         "nitrogen",    13.132*GeV,       0.0*MeV,  +7.0*eplus,
00100                         0,              +1,             0,
00101                         0,               0,             0,
00102                         "nucleus",              +7,            +14,           0,
00103                         true,                -1.0,             0,       
00104                         false,                "",               0,             
00105                         0.0);
00106 
00107  carbon=   new G4Ions(
00108                         "carbon",    11.267025440*GeV,       0.0*MeV,  +6.0*eplus,
00109                         0,              +1,             0,
00110                         0,               0,             0,
00111                         "nucleus",              +6,            +12,           0,
00112                         true,                -1.0,             0,       
00113                         false,                "",               0,             
00114                         0.0);
00115  
00116  helium=   new G4Ions(
00117                         "helium",    3.727417*GeV,       0.0*MeV,  +0.0*eplus,
00118                         0,              +1,             0,
00119                         0,               0,             0,
00120                         "nucleus",              +2,            +4,           0,
00121                         true,                -1.0,             0,       
00122                         false,                "",               0,             
00123                         0.0);
00124 
00125  alphaPlus= new G4Ions("alpha+",    3.727417*GeV,       0.0*MeV,  +1.0*eplus,
00126                                1,              +1,             0,
00127                                0,               0,             0,
00128                        "nucleus",              +1,            +4,           0,
00129                         true,            -1.0,             0, false,
00130                               "",               0,             0.0);
00131 
00132  hydrogen= new G4Ions("hydrogen",   0.9382723*GeV,       0.0*MeV,  +0.0*eplus,
00133                                0,              +1,             0,
00134                                0,               0,             0,
00135                        "nucleus",              +1,            +1,           0,
00136                         true,            -1.0,             0, false,
00137                               "",               0,             0.0);
00138 
00139  positronium1s= new G4Ions("Ps-1s",   2*electron_mass_c2,      0.0*MeV,  +0.0*eplus,
00140                                0,               0,             0,
00141                                0,               0,             0,
00142                        "nucleus",               0,             0,           0,
00143                             true,            -1.0,             0, false,
00144                               "",               0,             0.0);
00145 
00146  positronium2s= new G4Ions("Ps-2s",   2*electron_mass_c2,      0.0*MeV,  +0.0*eplus,
00147                                0,               0,             0,
00148                                0,               0,             0,
00149                        "nucleus",               0,             0,           0,
00150                             true,            -1.0,             0, false,
00151                               "",               0,             0.0);
00152 
00153 
00154  map["helium"  ]=helium;
00155  map["hydrogen"]=hydrogen;
00156  map["alpha+"  ]=alphaPlus;
00157  map["alpha++" ]=G4Alpha::Alpha();
00158  map["Ps-1s"   ]=positronium1s;
00159  map["Ps-2s"   ]=positronium2s;
00160  map["carbon"  ]=carbon;
00161  map["nitrogen"]=nitrogen;
00162  map["oxygen"  ]=oxygen;
00163  map["iron"    ]=iron;
00164 
00165 
00166 }
00167 
00168 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
00169 
00170 G4DNAGenericIonsManager * G4DNAGenericIonsManager::theInstance(0);
00171    

Generated on Mon May 27 17:48:03 2013 for Geant4 by  doxygen 1.4.7