Geant4 Cross Reference |
1 // 2 // ******************************************************************** 3 // * License and Disclaimer * 4 // * * 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. * 10 // * * 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitation of liability. * 17 // * * 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************************************** 25 // 26 // 31.07.2013: Derived from G4Ions for MT migration (SI) 27 // Suggested by Makoto et al. 28 29 #ifndef G4DNAIons_h 30 #define G4DNAIons_h 1 31 32 #include "globals.hh" 33 #include "G4ios.hh" 34 #include "G4ParticleDefinition.hh" 35 36 // ###################################################################### 37 // ### G4DNAIons ### 38 // ###################################################################### 39 40 class G4DNAIons : public G4ParticleDefinition 41 { 42 // Class Description 43 // This is the base class for all Geant4-DNA nuclei, including 44 // charged states 45 46 protected: 47 G4DNAIons(){}; 48 49 50 public: 51 G4DNAIons( 52 const G4String& aName, G4double mass, 53 G4double width, G4double charge, 54 G4int iSpin, G4int iParity, 55 G4int iConjugation, G4int iIsospin, 56 G4int iIsospin3, G4int gParity, 57 const G4String& pType, G4int lepton, 58 G4int baryon, G4int encoding, 59 G4bool stable, G4double lifetime, 60 G4DecayTable *decaytable, G4bool shortlived, 61 const G4String& subType ="", 62 G4int anti_encoding =0, 63 G4double excitation = 0.0, 64 G4int isomer = 0 65 ); 66 67 public: 68 ~G4DNAIons() override; 69 G4DNAIons* IonsDefinition(); 70 G4DNAIons* Ions(); 71 72 public: 73 74 // Get excitation energy of nucleus 75 G4double GetExcitationEnergy() const ; 76 77 // Get Isomer level (=0 for ground state) 78 G4int GetIsomerLevel() const; 79 80 private: 81 G4double theExcitationEnergy; 82 G4int theIsomerLevel; 83 84 }; 85 86 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 87 88 inline 89 G4DNAIons* G4DNAIons::IonsDefinition() 90 { 91 return this; 92 } 93 94 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 95 96 inline 97 G4DNAIons* G4DNAIons::Ions() 98 { 99 return this; 100 } 101 102 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 103 104 inline 105 G4double G4DNAIons::GetExcitationEnergy() const 106 { 107 return theExcitationEnergy; 108 } 109 110 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 111 112 inline 113 G4int G4DNAIons::GetIsomerLevel() const 114 { 115 return theIsomerLevel; 116 } 117 118 #endif 119 120 121 122 123 124 125 126 127