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 9.6)


  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$
 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 "G4Ions.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  G4Ions *helium;
 68  G4DNAIons *hydrogen;                          <<  69  G4Ions *hydrogen;
 69  G4DNAIons *alphaPlus;                         <<  70  G4Ions *alphaPlus;
 70  G4DNAIons *positronium1s;                     <<  71  G4Ions *positronium1s;
 71  G4DNAIons *positronium2s;                     <<  72  G4Ions *positronium2s;
 72                                                    73  
 73  G4DNAIons *carbon;                            <<  74  G4Ions *carbon;
 74  G4DNAIons *nitrogen;                          <<  75  G4Ions *nitrogen;
 75  G4DNAIons *oxygen;                            <<  76  G4Ions *oxygen;
 76  G4DNAIons *silicon;                           <<  77  G4Ions *iron;
 77  G4DNAIons *iron;                              << 
 78                                                    78 
 79  iron=     new G4DNAIons(                      <<  79  iron=     new G4Ions(
 80       "iron",    52.5672*GeV,       0.0*MeV,       80       "iron",    52.5672*GeV,       0.0*MeV,  +26.0*eplus,
 81       0,              +1,             0,           81       0,              +1,             0,
 82       0,               0,             0,           82       0,               0,             0,
 83       "DNAion",              +26,            + <<  83       "nucleus",              +26,            +56,           0,
 84       true,                -1.0,             n <<  84       true,                -1.0,             0,       
 85       false,          "",               0,         85       false,          "",               0,             
 86       0.0);                                        86       0.0);
 87                                                    87 
 88  silicon=  new G4DNAIons(                      <<  88  oxygen=   new G4Ions(
 89             "silicon",    26.161011669*GeV,    << 
 90             0,              +1,             0, << 
 91             0,               0,             0, << 
 92             "DNAion",              +14,        << 
 93             true,                -1.0,         << 
 94             false,          "",                << 
 95             0.0);                              << 
 96                                                << 
 97   // mass is average for all Si isotopes       << 
 98                                                << 
 99  oxygen=   new G4DNAIons(                      << 
100       "oxygen",    15.0074*GeV,       0.0*MeV,     89       "oxygen",    15.0074*GeV,       0.0*MeV,  +8.0*eplus,
101       0,              +1,             0,           90       0,              +1,             0,
102       0,               0,             0,           91       0,               0,             0,
103       "DNAion",              +8,            +1 <<  92       "nucleus",              +8,            +16,           0,
104       true,                -1.0,             n <<  93       true,                -1.0,             0,       
105       false,          "",               0,         94       false,          "",               0,             
106       0.0);                                        95       0.0);
107                                                    96 
108                                                    97 
109  nitrogen= new G4DNAIons(                      <<  98  nitrogen= new G4Ions(
110       "nitrogen",    13.132*GeV,       0.0*MeV     99       "nitrogen",    13.132*GeV,       0.0*MeV,  +7.0*eplus,
111       0,              +1,             0,          100       0,              +1,             0,
112       0,               0,             0,          101       0,               0,             0,
113       "DNAion",              +7,            +1 << 102       "nucleus",              +7,            +14,           0,
114       true,                -1.0,             n << 103       true,                -1.0,             0,       
115       false,          "",               0,        104       false,          "",               0,             
116       0.0);                                       105       0.0);
117                                                   106 
118  carbon=   new G4DNAIons(                      << 107  carbon=   new G4Ions(
119       "carbon",    11.267025440*GeV,       0.0    108       "carbon",    11.267025440*GeV,       0.0*MeV,  +6.0*eplus,
120       0,              +1,             0,          109       0,              +1,             0,
121       0,               0,             0,          110       0,               0,             0,
122       "DNAion",              +6,            +1 << 111       "nucleus",              +6,            +12,           0,
123       true,                -1.0,             n << 112       true,                -1.0,             0,       
124       false,          "",               0,        113       false,          "",               0,             
125       0.0);                                       114       0.0);
126                                                   115  
127  helium=   new G4DNAIons(                      << 116  helium=   new G4Ions(
128       "helium",    3.727417*GeV,       0.0*MeV    117       "helium",    3.727417*GeV,       0.0*MeV,  +0.0*eplus,
129       0,              +1,             0,          118       0,              +1,             0,
130       0,               0,             0,          119       0,               0,             0,
131       "DNAion",   +2,        +4,       0,      << 120       "nucleus",              +2,            +4,           0,
132       true,                -1.0,             n << 121       true,                -1.0,             0,       
133       false,          "",               0,        122       false,          "",               0,             
134       0.0);                                       123       0.0);
135                                                   124 
136  alphaPlus= new G4DNAIons("alpha+",    3.72741 << 125  alphaPlus= new G4Ions("alpha+",    3.727417*GeV,       0.0*MeV,  +1.0*eplus,
137                                1,                 126                                1,              +1,             0,
138                                0,                 127                                0,               0,             0,
139                        "DNAion",               << 128                        "nucleus",              +1,            +4,           0,
140       true,            -1.0,             nullp << 129       true,            -1.0,             0, false,
141             "",               0,             0    130             "",               0,             0.0);
142                                                   131 
143  hydrogen= new G4DNAIons("hydrogen",   0.93827 << 132  hydrogen= new G4Ions("hydrogen",   0.9382723*GeV,       0.0*MeV,  +0.0*eplus,
144                                0,                 133                                0,              +1,             0,
145                                0,                 134                                0,               0,             0,
146                        "DNAion",               << 135                        "nucleus",              +1,            +1,           0,
147             true,            -1.0,             << 136             true,            -1.0,             0, false,
148             "",               0,             0    137             "",               0,             0.0);
149                                                   138 
150  positronium1s= new G4DNAIons("Ps-1s",   2*ele << 139  positronium1s= new G4Ions("Ps-1s",   2*electron_mass_c2,      0.0*MeV,  +0.0*eplus,
151                                0,                 140                                0,               0,             0,
152                                0,                 141                                0,               0,             0,
153                        "DNAion",               << 142                        "nucleus",               0,             0,           0,
154                 true,            -1.0,         << 143                 true,            -1.0,             0, false,
155             "",               0,             0    144             "",               0,             0.0);
156                                                   145 
157  positronium2s= new G4DNAIons("Ps-2s",   2*ele << 146  positronium2s= new G4Ions("Ps-2s",   2*electron_mass_c2,      0.0*MeV,  +0.0*eplus,
158                                0,                 147                                0,               0,             0,
159                                0,                 148                                0,               0,             0,
160                        "DNAion",               << 149                        "nucleus",               0,             0,           0,
161                 true,            -1.0,         << 150                 true,            -1.0,             0, false,
162             "",               0,             0    151             "",               0,             0.0);
163                                                   152 
164                                                   153 
165  map["helium"  ]=helium;                          154  map["helium"  ]=helium;
166  map["hydrogen"]=hydrogen;                        155  map["hydrogen"]=hydrogen;
167  map["alpha+"  ]=alphaPlus;                       156  map["alpha+"  ]=alphaPlus;
168  map["alpha++" ]=G4Alpha::Alpha();                157  map["alpha++" ]=G4Alpha::Alpha();
169  map["Ps-1s"   ]=positronium1s;                   158  map["Ps-1s"   ]=positronium1s;
170  map["Ps-2s"   ]=positronium2s;                   159  map["Ps-2s"   ]=positronium2s;
171  map["carbon"  ]=carbon;                          160  map["carbon"  ]=carbon;
172  map["nitrogen"]=nitrogen;                        161  map["nitrogen"]=nitrogen;
173  map["oxygen"  ]=oxygen;                          162  map["oxygen"  ]=oxygen;
174  map["silicon" ]=silicon;                      << 
175  map["iron"    ]=iron;                            163  map["iron"    ]=iron;
176                                                   164 
177                                                   165 
178 }                                                 166 }
179                                                   167 
180 //....oooOO0OOooo........oooOO0OOooo........oo    168 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
181                                                   169 
182 G4DNAGenericIonsManager * G4DNAGenericIonsMana << 170 G4DNAGenericIonsManager * G4DNAGenericIonsManager::theInstance(0);
183                                                   171    
184                                                   172