Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/particles/management/src/G4ParticlePropertyData.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 /particles/management/src/G4ParticlePropertyData.cc (Version 11.3.0) and /particles/management/src/G4ParticlePropertyData.cc (Version 10.4)


  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 // G4ParticlePropertyData class implementation <<  26 // $Id: G4ParticlePropertyData.cc 67971 2013-03-13 10:13:24Z gcosmo $
 27 //                                                 27 //
 28 // Author: H.Kurashige, 9 June 2003            <<  28 // class G4ParticlePropertyData
 29 // ------------------------------------------- <<  29 //
 30                                                <<  30 // Implementation
 31 #include "G4ParticlePropertyData.hh"           <<  31 //
                                                   >>  32 // History:
                                                   >>  33 // first implementation by H Kurashige 9 June 2003
                                                   >>  34 // Add   magnetic moment    by H Kurashige   Mar 2007
 32                                                    35 
 33 #include "G4PhysicalConstants.hh"              << 
 34 #include "G4SystemOfUnits.hh"                  << 
 35 #include "G4ios.hh"                                36 #include "G4ios.hh"
 36 #include "globals.hh"                              37 #include "globals.hh"
                                                   >>  38 #include "G4PhysicalConstants.hh"
                                                   >>  39 #include "G4SystemOfUnits.hh"
                                                   >>  40 #include "G4ParticlePropertyData.hh"
                                                   >>  41 
 37                                                    42 
 38 G4ParticlePropertyData::G4ParticlePropertyData <<  43 /////////////////////////////////////////////////////////////
 39   : theParticleName(particleName)              <<  44 G4ParticlePropertyData::~G4ParticlePropertyData()
 40 {                                                  45 {
 41   for (std::size_t flv = 0; flv < NumberOfQuar << 
 42     theQuarkContent[flv] = 0;                  << 
 43     theAntiQuarkContent[flv] = 0;              << 
 44   }                                            << 
 45 }                                                  46 }
 46                                                    47 
 47 G4ParticlePropertyData::G4ParticlePropertyData <<  48 /////////////////////////////////////////////////////////////
 48 {                                              <<  49 G4ParticlePropertyData::G4ParticlePropertyData(const G4String& particleName):
 49   verboseLevel = right.verboseLevel;           <<  50   theParticleName(particleName),
 50   theParticleName = right.theParticleName;     <<  51   thePDGMass(0.0),
 51   thePDGMass = right.thePDGMass;               <<  52   thePDGWidth(0.0),
 52   thePDGWidth = right.thePDGWidth;             <<  53   thePDGCharge(0.0),
 53   thePDGCharge = right.thePDGCharge;           <<  54   thePDGiSpin(0),
 54   thePDGiSpin = right.thePDGiSpin;             <<  55   thePDGiParity(0),
 55   thePDGiParity = right.thePDGiParity;         <<  56   thePDGiConjugation(0),
 56   thePDGiConjugation = right.thePDGiConjugatio <<  57   thePDGiGParity(0),
 57   thePDGiGParity = right.thePDGiGParity;       <<  58   thePDGiIsospin(0),
 58   thePDGiIsospin = right.thePDGiIsospin;       <<  59   thePDGiIsospin3(0),
 59   thePDGiIsospin3 = right.thePDGiIsospin3;     <<  60   thePDGMagneticMoment(0.0),
 60   thePDGMagneticMoment = right.thePDGMagneticM <<  61   theLeptonNumber(0),
 61   theLeptonNumber = right.theLeptonNumber;     <<  62   theBaryonNumber(0),
 62   theBaryonNumber = right.theBaryonNumber;     <<  63   thePDGEncoding(0),
 63   thePDGEncoding = right.thePDGEncoding;       <<  64   theAntiPDGEncoding(0),
 64   theAntiPDGEncoding = right.theAntiPDGEncodin <<  65   thePDGLifeTime(-1.0),
 65   for (std::size_t flv = 0; flv < NumberOfQuar <<  66   fPDGMassModified(false),
 66     theQuarkContent[flv] = right.theQuarkConte <<  67   fPDGWidthModified(false),
 67     theAntiQuarkContent[flv] = right.theAntiQu <<  68   fPDGChargeModified(false),
                                                   >>  69   fPDGiSpinModified(false),
                                                   >>  70   fPDGiParityModified(false),
                                                   >>  71   fPDGiConjugationModified(false),
                                                   >>  72   fPDGiGParityModified(false),
                                                   >>  73   fPDGiIsospinModified(false),
                                                   >>  74   fPDGiIsospin3Modified(false),
                                                   >>  75   fPDGIsospinModified(false),
                                                   >>  76   fPDGIsospin3Modified(false),
                                                   >>  77   fPDGMagneticMomentModified(false),
                                                   >>  78   fLeptonNumberModified(false),
                                                   >>  79   fBaryonNumberModified(false),
                                                   >>  80   fPDGEncodingModified(false),
                                                   >>  81   fAntiPDGEncodingModified(false),
                                                   >>  82   fQuarkContentModified(false),
                                                   >>  83   fAntiQuarkContentModified(false),
                                                   >>  84   fPDGLifeTimeModified(false),
                                                   >>  85   verboseLevel(1)
                                                   >>  86 {
                                                   >>  87   for (size_t flv=0; flv<NumberOfQuarkFlavor; ++flv) {
                                                   >>  88     theQuarkContent[flv] =0;
                                                   >>  89     theAntiQuarkContent[flv]=0;
 68   }                                                90   }
 69   thePDGLifeTime = right.thePDGLifeTime;       << 
 70 }                                                  91 }
 71                                                    92 
 72 G4ParticlePropertyData& G4ParticlePropertyData <<  93 
                                                   >>  94 ////////////////////////
                                                   >>  95 G4ParticlePropertyData::G4ParticlePropertyData(const G4ParticlePropertyData &right):
                                                   >>  96   fPDGMassModified(false),
                                                   >>  97   fPDGWidthModified(false),
                                                   >>  98   fPDGChargeModified(false),
                                                   >>  99   fPDGiSpinModified(false),
                                                   >> 100   fPDGiParityModified(false),
                                                   >> 101   fPDGiConjugationModified(false),
                                                   >> 102   fPDGiGParityModified(false),
                                                   >> 103   fPDGiIsospinModified(false),
                                                   >> 104   fPDGiIsospin3Modified(false),
                                                   >> 105   fPDGIsospinModified(false),
                                                   >> 106   fPDGIsospin3Modified(false),
                                                   >> 107   fPDGMagneticMomentModified(false),
                                                   >> 108   fLeptonNumberModified(false),
                                                   >> 109   fBaryonNumberModified(false),
                                                   >> 110   fPDGEncodingModified(false),
                                                   >> 111   fAntiPDGEncodingModified(false),
                                                   >> 112   fQuarkContentModified(false),
                                                   >> 113   fAntiQuarkContentModified(false),
                                                   >> 114   fPDGLifeTimeModified(false)
                                                   >> 115 {
                                                   >> 116   verboseLevel      = right.verboseLevel; 
                                                   >> 117   theParticleName   = right.theParticleName;
                                                   >> 118   thePDGMass        = right.thePDGMass;
                                                   >> 119   thePDGWidth       = right. thePDGWidth;
                                                   >> 120   thePDGCharge      = right.thePDGCharge;
                                                   >> 121   thePDGiSpin       = right.thePDGiSpin;
                                                   >> 122   thePDGiParity     = right.thePDGiParity;
                                                   >> 123   thePDGiConjugation   = right.thePDGiConjugation;
                                                   >> 124   thePDGiGParity    = right.thePDGiGParity;
                                                   >> 125   thePDGiIsospin    = right.thePDGiIsospin;
                                                   >> 126   thePDGiIsospin3   = right.thePDGiIsospin3;
                                                   >> 127   thePDGMagneticMoment =  right.thePDGMagneticMoment;
                                                   >> 128   theLeptonNumber   = right.theLeptonNumber;
                                                   >> 129   theBaryonNumber   = right.theBaryonNumber;
                                                   >> 130   thePDGEncoding    = right.thePDGEncoding;
                                                   >> 131   theAntiPDGEncoding   = right.theAntiPDGEncoding;
                                                   >> 132   for (size_t flv=0; flv<NumberOfQuarkFlavor; ++flv) {
                                                   >> 133     theQuarkContent[flv]    = right.theQuarkContent[flv];
                                                   >> 134     theAntiQuarkContent[flv]= right.theAntiQuarkContent[flv];
                                                   >> 135   }
                                                   >> 136   thePDGLifeTime    = right.thePDGLifeTime;
                                                   >> 137 }
                                                   >> 138       
                                                   >> 139 ////////////////////////
                                                   >> 140 G4ParticlePropertyData & G4ParticlePropertyData::operator=(const G4ParticlePropertyData &right)
 73 {                                                 141 {
 74   if (this != &right) {                           142   if (this != &right) {
 75     verboseLevel = right.verboseLevel;         << 143     verboseLevel      = right.verboseLevel; 
 76     theParticleName = right.theParticleName;   << 144     theParticleName   = right.theParticleName;
 77     thePDGMass = right.thePDGMass;             << 145     thePDGMass        = right.thePDGMass;
 78     thePDGWidth = right.thePDGWidth;           << 146     thePDGWidth       = right. thePDGWidth;
 79     thePDGCharge = right.thePDGCharge;         << 147     thePDGCharge      = right.thePDGCharge;
 80     thePDGiSpin = right.thePDGiSpin;           << 148     thePDGiSpin       = right.thePDGiSpin;
 81     thePDGiParity = right.thePDGiParity;       << 149     thePDGiParity     = right.thePDGiParity;
 82     thePDGiConjugation = right.thePDGiConjugat << 150     thePDGiConjugation  = right.thePDGiConjugation;
 83     thePDGiGParity = right.thePDGiGParity;     << 151     thePDGiGParity    = right.thePDGiGParity;
 84     thePDGiIsospin = right.thePDGiIsospin;     << 152     thePDGiIsospin    = right.thePDGiIsospin;
 85     thePDGiIsospin3 = right.thePDGiIsospin3;   << 153     thePDGiIsospin3   = right.thePDGiIsospin3;
 86     thePDGMagneticMoment = right.thePDGMagneti << 154     thePDGMagneticMoment =  right.thePDGMagneticMoment;
 87     theLeptonNumber = right.theLeptonNumber;   << 155     theLeptonNumber   = right.theLeptonNumber;
 88     theBaryonNumber = right.theBaryonNumber;   << 156     theBaryonNumber   = right.theBaryonNumber;
 89     thePDGEncoding = right.thePDGEncoding;     << 157     thePDGEncoding    = right.thePDGEncoding;
 90     theAntiPDGEncoding = right.theAntiPDGEncod << 158     theAntiPDGEncoding  = right.theAntiPDGEncoding;
 91     for (std::size_t flv = 0; flv < NumberOfQu << 159     for (size_t flv=0; flv<NumberOfQuarkFlavor; ++flv) {
 92       theQuarkContent[flv] = right.theQuarkCon << 160       theQuarkContent[flv]    = right.theQuarkContent[flv];
 93       theAntiQuarkContent[flv] = right.theAnti << 161       theAntiQuarkContent[flv]= right.theAntiQuarkContent[flv];
 94     }                                             162     }
 95     thePDGLifeTime = right.thePDGLifeTime;     << 163     thePDGLifeTime    = right.thePDGLifeTime;
 96     fPDGMassModified = true;                   << 164     fPDGMassModified           = true;
 97     fPDGWidthModified = true;                  << 165     fPDGWidthModified          = true;  
 98     fPDGChargeModified = true;                 << 166     fPDGChargeModified         = true;
 99     fPDGiSpinModified = true;                  << 167     fPDGiSpinModified          = true;
100     fPDGiParityModified = true;                << 168     fPDGiParityModified        = true;    
101     fPDGiConjugationModified = true;           << 169     fPDGiConjugationModified   = true;  
102     fPDGiGParityModified = true;               << 170     fPDGiGParityModified       = true;
103     fPDGiIsospinModified = true;               << 171     fPDGiIsospinModified       = true; 
104     fPDGiIsospin3Modified = true;              << 172     fPDGiIsospin3Modified      = true;
105     fPDGIsospinModified = true;                << 173     fPDGIsospinModified        = true; 
106     fPDGIsospin3Modified = true;               << 174     fPDGIsospin3Modified       = true;
107     fPDGMagneticMomentModified = true;            175     fPDGMagneticMomentModified = true;
108     fLeptonNumberModified = true;              << 176     fLeptonNumberModified      = true;
109     fBaryonNumberModified = true;              << 177     fBaryonNumberModified      = true;
110     fPDGEncodingModified = true;               << 178     fPDGEncodingModified       = true;
111     fAntiPDGEncodingModified = true;           << 179     fAntiPDGEncodingModified   = true;
112     fQuarkContentModified = true;              << 180     fQuarkContentModified      = true;
113     fAntiQuarkContentModified = true;          << 181     fAntiQuarkContentModified  = true;
114     fPDGLifeTimeModified = true;               << 182     fPDGLifeTimeModified       = true;   
115   }                                               183   }
116   return *this;                                   184   return *this;
117 }                                                 185 }
118                                                << 186   
119 G4bool G4ParticlePropertyData::operator==(cons << 187 ////////////////////////
                                                   >> 188 G4int G4ParticlePropertyData::operator==(const G4ParticlePropertyData &right) const
120 {                                                 189 {
121   return (this == &right);                        190   return (this == &right);
122 }                                                 191 }
123                                                   192 
124 G4bool G4ParticlePropertyData::operator!=(cons << 193 ////////////////////////
                                                   >> 194 G4int G4ParticlePropertyData::operator!=(const G4ParticlePropertyData &right) const
125 {                                                 195 {
126   return (this != &right);                        196   return (this != &right);
127 }                                                 197 }
128                                                   198 
                                                   >> 199 ////////////////////////
129 void G4ParticlePropertyData::Print() const        200 void G4ParticlePropertyData::Print() const
130 {                                                 201 {
131 #ifdef G4VERBOSE                                  202 #ifdef G4VERBOSE
132   G4cout << " Particle Name : " << theParticle    203   G4cout << " Particle Name : " << theParticleName << G4endl;
133   G4cout << " PDG particle code : " << thePDGE    204   G4cout << " PDG particle code : " << thePDGEncoding;
134   G4cout << " [PDG anti-particle code: " << th << 205   G4cout << " [PDG anti-particle code: " << this->GetAntiPDGEncoding() << "]"<< G4endl;
135   G4cout << " Mass [GeV/c2] : " << thePDGMass  << 206   G4cout << " Mass [GeV/c2] : " << thePDGMass/GeV ;
136   G4cout << "     Width : " << thePDGWidth / G << 207   G4cout << "     Width : " << thePDGWidth/GeV << G4endl;
137   G4cout << " Lifetime [nsec] : " << thePDGLif << 208   G4cout << " Lifetime [nsec] : " << thePDGLifeTime/ns << G4endl;
138   G4cout << " Charge [e]: " << thePDGCharge /  << 209   G4cout << " Charge [e]: " << thePDGCharge/eplus << G4endl;
139   G4cout << " Spin : " << thePDGiSpin << "/2"     210   G4cout << " Spin : " << thePDGiSpin << "/2" << G4endl;
140   G4cout << " Parity : " << thePDGiParity << G    211   G4cout << " Parity : " << thePDGiParity << G4endl;
141   G4cout << " Charge conjugation : " << thePDG    212   G4cout << " Charge conjugation : " << thePDGiConjugation << G4endl;
142   G4cout << " Isospin : (I,Iz): (" << thePDGiI << 213   G4cout << " Isospin : (I,Iz): (" << thePDGiIsospin <<"/2";
143   G4cout << " , " << thePDGiIsospin3 << "/2 )     214   G4cout << " , " << thePDGiIsospin3 << "/2 ) " << G4endl;
144   G4cout << " GParity : " << thePDGiGParity <<    215   G4cout << " GParity : " << thePDGiGParity << G4endl;
145   G4cout << " MagneticMoment [MeV/T]: ";          216   G4cout << " MagneticMoment [MeV/T]: ";
146   if (thePDGMagneticMoment != 0.0) {              217   if (thePDGMagneticMoment != 0.0) {
147     G4cout << thePDGMagneticMoment / MeV * tes << 218     G4cout << thePDGMagneticMoment/MeV*tesla  << G4endl;
148   }                                            << 219   }else {
149   else {                                       << 
150     G4cout << "not defined " << G4endl;           220     G4cout << "not defined " << G4endl;
151   }                                               221   }
152   G4cout << " Lepton number : " << theLeptonNu    222   G4cout << " Lepton number : " << theLeptonNumber;
153   G4cout << " Baryon number : " << theBaryonNu << 223   G4cout << " Baryon number : " << theBaryonNumber << G4endl;  
154   G4cout << " Quark contents     (d,u,s,c,b,t)    224   G4cout << " Quark contents     (d,u,s,c,b,t) : " << theQuarkContent[0];
155   G4cout << ", " << theQuarkContent[1];           225   G4cout << ", " << theQuarkContent[1];
156   G4cout << ", " << theQuarkContent[2];           226   G4cout << ", " << theQuarkContent[2];
157   G4cout << ", " << theQuarkContent[3];           227   G4cout << ", " << theQuarkContent[3];
158   G4cout << ", " << theQuarkContent[4];           228   G4cout << ", " << theQuarkContent[4];
159   G4cout << ", " << theQuarkContent[5] << G4en    229   G4cout << ", " << theQuarkContent[5] << G4endl;
160   G4cout << " AntiQuark contents                  230   G4cout << " AntiQuark contents               : " << theAntiQuarkContent[0];
161   G4cout << ", " << theAntiQuarkContent[1];       231   G4cout << ", " << theAntiQuarkContent[1];
162   G4cout << ", " << theAntiQuarkContent[2];       232   G4cout << ", " << theAntiQuarkContent[2];
163   G4cout << ", " << theAntiQuarkContent[3];       233   G4cout << ", " << theAntiQuarkContent[3];
164   G4cout << ", " << theAntiQuarkContent[4];       234   G4cout << ", " << theAntiQuarkContent[4];
165   G4cout << ", " << theAntiQuarkContent[5] <<     235   G4cout << ", " << theAntiQuarkContent[5] << G4endl;
166 #endif                                            236 #endif
167 }                                                 237 }
                                                   >> 238 
                                                   >> 239 
                                                   >> 240 
                                                   >> 241 
                                                   >> 242 
                                                   >> 243 
                                                   >> 244 
                                                   >> 245 
                                                   >> 246 
168                                                   247