Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // G4ParticlePropertyData class implementation 27 // 28 // Author: H.Kurashige, 9 June 2003 29 // ------------------------------------------- 30 31 #include "G4ParticlePropertyData.hh" 32 33 #include "G4PhysicalConstants.hh" 34 #include "G4SystemOfUnits.hh" 35 #include "G4ios.hh" 36 #include "globals.hh" 37 38 G4ParticlePropertyData::G4ParticlePropertyData 39 : theParticleName(particleName) 40 { 41 for (std::size_t flv = 0; flv < NumberOfQuar 42 theQuarkContent[flv] = 0; 43 theAntiQuarkContent[flv] = 0; 44 } 45 } 46 47 G4ParticlePropertyData::G4ParticlePropertyData 48 { 49 verboseLevel = right.verboseLevel; 50 theParticleName = right.theParticleName; 51 thePDGMass = right.thePDGMass; 52 thePDGWidth = right.thePDGWidth; 53 thePDGCharge = right.thePDGCharge; 54 thePDGiSpin = right.thePDGiSpin; 55 thePDGiParity = right.thePDGiParity; 56 thePDGiConjugation = right.thePDGiConjugatio 57 thePDGiGParity = right.thePDGiGParity; 58 thePDGiIsospin = right.thePDGiIsospin; 59 thePDGiIsospin3 = right.thePDGiIsospin3; 60 thePDGMagneticMoment = right.thePDGMagneticM 61 theLeptonNumber = right.theLeptonNumber; 62 theBaryonNumber = right.theBaryonNumber; 63 thePDGEncoding = right.thePDGEncoding; 64 theAntiPDGEncoding = right.theAntiPDGEncodin 65 for (std::size_t flv = 0; flv < NumberOfQuar 66 theQuarkContent[flv] = right.theQuarkConte 67 theAntiQuarkContent[flv] = right.theAntiQu 68 } 69 thePDGLifeTime = right.thePDGLifeTime; 70 } 71 72 G4ParticlePropertyData& G4ParticlePropertyData 73 { 74 if (this != &right) { 75 verboseLevel = right.verboseLevel; 76 theParticleName = right.theParticleName; 77 thePDGMass = right.thePDGMass; 78 thePDGWidth = right.thePDGWidth; 79 thePDGCharge = right.thePDGCharge; 80 thePDGiSpin = right.thePDGiSpin; 81 thePDGiParity = right.thePDGiParity; 82 thePDGiConjugation = right.thePDGiConjugat 83 thePDGiGParity = right.thePDGiGParity; 84 thePDGiIsospin = right.thePDGiIsospin; 85 thePDGiIsospin3 = right.thePDGiIsospin3; 86 thePDGMagneticMoment = right.thePDGMagneti 87 theLeptonNumber = right.theLeptonNumber; 88 theBaryonNumber = right.theBaryonNumber; 89 thePDGEncoding = right.thePDGEncoding; 90 theAntiPDGEncoding = right.theAntiPDGEncod 91 for (std::size_t flv = 0; flv < NumberOfQu 92 theQuarkContent[flv] = right.theQuarkCon 93 theAntiQuarkContent[flv] = right.theAnti 94 } 95 thePDGLifeTime = right.thePDGLifeTime; 96 fPDGMassModified = true; 97 fPDGWidthModified = true; 98 fPDGChargeModified = true; 99 fPDGiSpinModified = true; 100 fPDGiParityModified = true; 101 fPDGiConjugationModified = true; 102 fPDGiGParityModified = true; 103 fPDGiIsospinModified = true; 104 fPDGiIsospin3Modified = true; 105 fPDGIsospinModified = true; 106 fPDGIsospin3Modified = true; 107 fPDGMagneticMomentModified = true; 108 fLeptonNumberModified = true; 109 fBaryonNumberModified = true; 110 fPDGEncodingModified = true; 111 fAntiPDGEncodingModified = true; 112 fQuarkContentModified = true; 113 fAntiQuarkContentModified = true; 114 fPDGLifeTimeModified = true; 115 } 116 return *this; 117 } 118 119 G4bool G4ParticlePropertyData::operator==(cons 120 { 121 return (this == &right); 122 } 123 124 G4bool G4ParticlePropertyData::operator!=(cons 125 { 126 return (this != &right); 127 } 128 129 void G4ParticlePropertyData::Print() const 130 { 131 #ifdef G4VERBOSE 132 G4cout << " Particle Name : " << theParticle 133 G4cout << " PDG particle code : " << thePDGE 134 G4cout << " [PDG anti-particle code: " << th 135 G4cout << " Mass [GeV/c2] : " << thePDGMass 136 G4cout << " Width : " << thePDGWidth / G 137 G4cout << " Lifetime [nsec] : " << thePDGLif 138 G4cout << " Charge [e]: " << thePDGCharge / 139 G4cout << " Spin : " << thePDGiSpin << "/2" 140 G4cout << " Parity : " << thePDGiParity << G 141 G4cout << " Charge conjugation : " << thePDG 142 G4cout << " Isospin : (I,Iz): (" << thePDGiI 143 G4cout << " , " << thePDGiIsospin3 << "/2 ) 144 G4cout << " GParity : " << thePDGiGParity << 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 153 G4cout << " Baryon number : " << theBaryonNu 154 G4cout << " Quark contents (d,u,s,c,b,t) 155 G4cout << ", " << theQuarkContent[1]; 156 G4cout << ", " << theQuarkContent[2]; 157 G4cout << ", " << theQuarkContent[3]; 158 G4cout << ", " << theQuarkContent[4]; 159 G4cout << ", " << theQuarkContent[5] << G4en 160 G4cout << " AntiQuark contents 161 G4cout << ", " << theAntiQuarkContent[1]; 162 G4cout << ", " << theAntiQuarkContent[2]; 163 G4cout << ", " << theAntiQuarkContent[3]; 164 G4cout << ", " << theAntiQuarkContent[4]; 165 G4cout << ", " << theAntiQuarkContent[5] << 166 #endif 167 } 168