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


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