Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/electromagnetic/dna/utils/src/G4DNAGenericIonsManager.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/electromagnetic/dna/utils/src/G4DNAGenericIonsManager.cc (Version 11.3.0) and /processes/electromagnetic/dna/utils/src/G4DNAGenericIonsManager.cc (Version 10.1.p2)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
                                                   >>  26 // $Id: G4DNAGenericIonsManager.cc 87449 2014-12-04 14:13:06Z gunter $
 26                                                    27 
 27 #include "G4DNAGenericIonsManager.hh"              28 #include "G4DNAGenericIonsManager.hh"
 28 #include "G4PhysicalConstants.hh"                  29 #include "G4PhysicalConstants.hh"
 29 #include "G4SystemOfUnits.hh"                      30 #include "G4SystemOfUnits.hh"
 30 #include "G4Alpha.hh"                              31 #include "G4Alpha.hh"
 31 #include "G4DNAIons.hh"                            32 #include "G4DNAIons.hh"
 32                                                    33 
 33 //....oooOO0OOooo........oooOO0OOooo........oo     34 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 34                                                    35 
 35 G4DNAGenericIonsManager * G4DNAGenericIonsMana <<  36 G4DNAGenericIonsManager * G4DNAGenericIonsManager :: Instance(void)
 36 {                                                  37 {
 37  if (theInstance == nullptr)                   <<  38  if (!theInstance)
 38   theInstance=new G4DNAGenericIonsManager;         39   theInstance=new G4DNAGenericIonsManager;
 39                                                    40  
 40  return theInstance;                               41  return theInstance;
 41 }                                                  42 }
 42                                                    43 
 43 //....oooOO0OOooo........oooOO0OOooo........oo     44 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 44                                                    45 
 45 G4ParticleDefinition * G4DNAGenericIonsManager     46 G4ParticleDefinition * G4DNAGenericIonsManager :: GetIon(const G4String & name)
 46 {                                                  47 {
 47  auto i = map.find(name);                      <<  48  IonsMap::const_iterator i(map.find(name));
 48                                                    49  
 49  if (i==map.end())                                 50  if (i==map.end())
 50   return nullptr;                              <<  51   return 0;
 51                                                    52   
 52  return i->second;                                 53  return i->second;
 53 }                                                  54 }
 54                                                    55 
 55 //....oooOO0OOooo........oooOO0OOooo........oo     56 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 56                                                    57 
 57 G4DNAGenericIonsManager :: G4DNAGenericIonsMan     58 G4DNAGenericIonsManager :: G4DNAGenericIonsManager()
 58 {                                                  59 {
 59   //               name             mass           60   //               name             mass          width         charge
 60   //             2*spin           parity  C-co     61   //             2*spin           parity  C-conjugation
 61   //          2*Isospin       2*Isospin3           62   //          2*Isospin       2*Isospin3       G-parity
 62   //               type    lepton number  bary     63   //               type    lepton number  baryon number   PDG encoding
 63   //             stable         lifetime    de     64   //             stable         lifetime    decay table
 64   //         shortlived          subType  anti     65   //         shortlived          subType  anti_encoding
 65   //         excitation                            66   //         excitation   
 66                                                    67   
 67  G4DNAIons *helium;                                68  G4DNAIons *helium;
 68  G4DNAIons *hydrogen;                              69  G4DNAIons *hydrogen;
 69  G4DNAIons *alphaPlus;                             70  G4DNAIons *alphaPlus;
 70  G4DNAIons *positronium1s;                         71  G4DNAIons *positronium1s;
 71  G4DNAIons *positronium2s;                         72  G4DNAIons *positronium2s;
 72                                                    73  
 73  G4DNAIons *carbon;                                74  G4DNAIons *carbon;
 74  G4DNAIons *nitrogen;                              75  G4DNAIons *nitrogen;
 75  G4DNAIons *oxygen;                                76  G4DNAIons *oxygen;
 76  G4DNAIons *silicon;                               77  G4DNAIons *silicon;
 77  G4DNAIons *iron;                                  78  G4DNAIons *iron;
 78                                                    79 
 79  iron=     new G4DNAIons(                          80  iron=     new G4DNAIons(
 80       "iron",    52.5672*GeV,       0.0*MeV,       81       "iron",    52.5672*GeV,       0.0*MeV,  +26.0*eplus,
 81       0,              +1,             0,           82       0,              +1,             0,
 82       0,               0,             0,           83       0,               0,             0,
 83       "DNAion",              +26,            +     84       "DNAion",              +26,            +56,           0,
 84       true,                -1.0,             n <<  85       true,                -1.0,             0,       
 85       false,          "",               0,         86       false,          "",               0,             
 86       0.0);                                        87       0.0);
 87                                                    88 
 88  silicon=  new G4DNAIons(                          89  silicon=  new G4DNAIons(
 89             "silicon",    26.161011669*GeV,    <<  90             "silicon",    28.085*GeV,       0.0*MeV,  +14.0*eplus,
 90             0,              +1,             0,     91             0,              +1,             0,
 91             0,               0,             0,     92             0,               0,             0,
 92             "DNAion",              +14,            93             "DNAion",              +14,            +28,           0,
 93             true,                -1.0,         <<  94             true,                -1.0,             0,
 94             false,          "",                    95             false,          "",               0,
 95             0.0);                                  96             0.0);
 96                                                    97 
 97   // mass is average for all Si isotopes       << 
 98                                                    98 
 99  oxygen=   new G4DNAIons(                          99  oxygen=   new G4DNAIons(
100       "oxygen",    15.0074*GeV,       0.0*MeV,    100       "oxygen",    15.0074*GeV,       0.0*MeV,  +8.0*eplus,
101       0,              +1,             0,          101       0,              +1,             0,
102       0,               0,             0,          102       0,               0,             0,
103       "DNAion",              +8,            +1    103       "DNAion",              +8,            +16,           0,
104       true,                -1.0,             n << 104       true,                -1.0,             0,       
105       false,          "",               0,        105       false,          "",               0,             
106       0.0);                                       106       0.0);
107                                                   107 
108                                                   108 
109  nitrogen= new G4DNAIons(                         109  nitrogen= new G4DNAIons(
110       "nitrogen",    13.132*GeV,       0.0*MeV    110       "nitrogen",    13.132*GeV,       0.0*MeV,  +7.0*eplus,
111       0,              +1,             0,          111       0,              +1,             0,
112       0,               0,             0,          112       0,               0,             0,
113       "DNAion",              +7,            +1    113       "DNAion",              +7,            +14,           0,
114       true,                -1.0,             n << 114       true,                -1.0,             0,       
115       false,          "",               0,        115       false,          "",               0,             
116       0.0);                                       116       0.0);
117                                                   117 
118  carbon=   new G4DNAIons(                         118  carbon=   new G4DNAIons(
119       "carbon",    11.267025440*GeV,       0.0    119       "carbon",    11.267025440*GeV,       0.0*MeV,  +6.0*eplus,
120       0,              +1,             0,          120       0,              +1,             0,
121       0,               0,             0,          121       0,               0,             0,
122       "DNAion",              +6,            +1    122       "DNAion",              +6,            +12,           0,
123       true,                -1.0,             n << 123       true,                -1.0,             0,       
124       false,          "",               0,        124       false,          "",               0,             
125       0.0);                                       125       0.0);
126                                                   126  
127  helium=   new G4DNAIons(                         127  helium=   new G4DNAIons(
128       "helium",    3.727417*GeV,       0.0*MeV    128       "helium",    3.727417*GeV,       0.0*MeV,  +0.0*eplus,
129       0,              +1,             0,          129       0,              +1,             0,
130       0,               0,             0,          130       0,               0,             0,
131       "DNAion",   +2,        +4,       0,         131       "DNAion",   +2,        +4,       0,
132       true,                -1.0,             n << 132       true,                -1.0,             0,       
133       false,          "",               0,        133       false,          "",               0,             
134       0.0);                                       134       0.0);
135                                                   135 
136  alphaPlus= new G4DNAIons("alpha+",    3.72741    136  alphaPlus= new G4DNAIons("alpha+",    3.727417*GeV,       0.0*MeV,  +1.0*eplus,
137                                1,                 137                                1,              +1,             0,
138                                0,                 138                                0,               0,             0,
139                        "DNAion",                  139                        "DNAion",              +1,            +4,           0,
140       true,            -1.0,             nullp << 140       true,            -1.0,             0, false,
141             "",               0,             0    141             "",               0,             0.0);
142                                                   142 
143  hydrogen= new G4DNAIons("hydrogen",   0.93827    143  hydrogen= new G4DNAIons("hydrogen",   0.9382723*GeV,       0.0*MeV,  +0.0*eplus,
144                                0,                 144                                0,              +1,             0,
145                                0,                 145                                0,               0,             0,
146                        "DNAion",                  146                        "DNAion",              +1,            +1,           0,
147             true,            -1.0,             << 147             true,            -1.0,             0, false,
148             "",               0,             0    148             "",               0,             0.0);
149                                                   149 
150  positronium1s= new G4DNAIons("Ps-1s",   2*ele    150  positronium1s= new G4DNAIons("Ps-1s",   2*electron_mass_c2,      0.0*MeV,  +0.0*eplus,
151                                0,                 151                                0,               0,             0,
152                                0,                 152                                0,               0,             0,
153                        "DNAion",                  153                        "DNAion",               0,             0,           0,
154                 true,            -1.0,         << 154                 true,            -1.0,             0, false,
155             "",               0,             0    155             "",               0,             0.0);
156                                                   156 
157  positronium2s= new G4DNAIons("Ps-2s",   2*ele    157  positronium2s= new G4DNAIons("Ps-2s",   2*electron_mass_c2,      0.0*MeV,  +0.0*eplus,
158                                0,                 158                                0,               0,             0,
159                                0,                 159                                0,               0,             0,
160                        "DNAion",                  160                        "DNAion",               0,             0,           0,
161                 true,            -1.0,         << 161                 true,            -1.0,             0, false,
162             "",               0,             0    162             "",               0,             0.0);
163                                                   163 
164                                                   164 
165  map["helium"  ]=helium;                          165  map["helium"  ]=helium;
166  map["hydrogen"]=hydrogen;                        166  map["hydrogen"]=hydrogen;
167  map["alpha+"  ]=alphaPlus;                       167  map["alpha+"  ]=alphaPlus;
168  map["alpha++" ]=G4Alpha::Alpha();                168  map["alpha++" ]=G4Alpha::Alpha();
169  map["Ps-1s"   ]=positronium1s;                   169  map["Ps-1s"   ]=positronium1s;
170  map["Ps-2s"   ]=positronium2s;                   170  map["Ps-2s"   ]=positronium2s;
171  map["carbon"  ]=carbon;                          171  map["carbon"  ]=carbon;
172  map["nitrogen"]=nitrogen;                        172  map["nitrogen"]=nitrogen;
173  map["oxygen"  ]=oxygen;                          173  map["oxygen"  ]=oxygen;
174  map["silicon" ]=silicon;                         174  map["silicon" ]=silicon;
175  map["iron"    ]=iron;                            175  map["iron"    ]=iron;
176                                                   176 
177                                                   177 
178 }                                                 178 }
179                                                   179 
180 //....oooOO0OOooo........oooOO0OOooo........oo    180 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
181                                                   181 
182 G4DNAGenericIonsManager * G4DNAGenericIonsMana << 182 G4DNAGenericIonsManager * G4DNAGenericIonsManager::theInstance(0);
183                                                   183    
184                                                   184