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