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 #ifndef G4BatemanParameters_h 27 #define G4BatemanParameters_h 1 28 29 //////////////////////////////////////////////////////////////////////////////// 30 // // 31 // File: G4BatemanParameters.hh // 32 // Author: D.H. Wright (SLAC) // 33 // Date: 15 December 2015 // 34 // Description: renamed and streamlined version of F. Lei and P. Truscott's // 35 // class G4RadioactiveDecayRate. This class contains the decay // 36 // times and coefficients of the extended Bateman equations for // 37 // the progeny of a given nuclide (Z, A, E). // 38 // // 39 //////////////////////////////////////////////////////////////////////////////// 40 41 #include "G4ios.hh" 42 #include "globals.hh" 43 #include <vector> 44 45 class G4BatemanParameters 46 { 47 48 public: 49 G4BatemanParameters(); 50 51 virtual ~G4BatemanParameters(); 52 53 // copy constructor and assignment operator 54 G4BatemanParameters(const G4BatemanParameters &); 55 G4BatemanParameters& operator=(const G4BatemanParameters&); 56 57 // equality operators 58 G4bool operator==(const G4BatemanParameters& right) const 59 {return (this == &right);}; 60 G4bool operator!=(const G4BatemanParameters& right) const 61 {return (this != &right);}; 62 63 void DumpInfo(); 64 65 inline G4int GetZ() const {return Z;} 66 inline G4int GetA() const {return A;} 67 inline G4double GetE() const {return E;} 68 inline G4int GetGeneration() const {return generation;} 69 inline std::vector<G4double> GetAcoefficients() const 70 {return Acoeffs;} 71 inline std::vector<G4double> GetTaus() const {return taus;} 72 73 inline void SetZ(G4int value) {Z = value;} 74 inline void SetA(G4int value) {A = value;} 75 inline void SetE(G4double value) {E = value;} 76 inline void SetGeneration(G4int value) {generation = value;} 77 inline void SetAcoefficients(std::vector<G4double> value) 78 {Acoeffs = value;} 79 inline void SetTaus(std::vector<G4double> value) {taus = value;} 80 81 void SetParameters(G4int /*Z*/, G4int /*A*/, G4double /*E*/, G4int /*G*/, 82 std::vector<G4double> /*Coeffs*/, 83 std::vector<G4double> /*taus*/); 84 85 private: 86 G4int Z; 87 G4int A; 88 G4double E; 89 G4int generation; 90 std::vector<G4double> Acoeffs; 91 std::vector<G4double> taus; 92 93 }; 94 #endif 95