Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-17 08:59:20

0001 //
0002 // ********************************************************************
0003 // * License and Disclaimer                                           *
0004 // *                                                                  *
0005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
0006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
0007 // * conditions of the Geant4 Software License,  included in the file *
0008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
0009 // * include a list of copyright holders.                             *
0010 // *                                                                  *
0011 // * Neither the authors of this software system, nor their employing *
0012 // * institutes,nor the agencies providing financial support for this *
0013 // * work  make  any representation or  warranty, express or implied, *
0014 // * regarding  this  software system or assume any liability for its *
0015 // * use.  Please see the license in the file  LICENSE  and URL above *
0016 // * for the full disclaimer and the limitation of liability.         *
0017 // *                                                                  *
0018 // * This  code  implementation is the result of  the  scientific and *
0019 // * technical work of the GEANT4 collaboration.                      *
0020 // * By using,  copying,  modifying or  distributing the software (or *
0021 // * any work based  on the software)  you  agree  to acknowledge its *
0022 // * use  in  resulting  scientific  publications,  and indicate your *
0023 // * acceptance of all terms of the Geant4 Software license.          *
0024 // ********************************************************************
0025 //
0026 #ifndef G4RadioactiveDecayRatesToDaughter_h
0027 #define G4RadioactiveDecayRatesToDaughter_h 1
0028 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0029 //
0030 // MODULE:              RadioactiveDecayRate.hh
0031 // Renamed G4RadioactiveDecayRatesToDaughter.hh  (D.H. Wright 5 October 2017) 
0032 // Version:             0.b.4
0033 // Date:                14/04/00
0034 // Author:              F Lei & P R Truscott
0035 // Organisation:        DERA UK
0036 // Customer:            ESA/ESTEC, NOORDWIJK
0037 // Contract:            12115/96/JG/NL Work Order No. 3
0038 //
0039 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0040 //
0041 // CHANGE HISTORY
0042 // --------------
0043 //
0044 // 29 February 2000, P R Truscott, DERA UK
0045 // 0.b.3 release.
0046 //
0047 // 13 April 2000, F Lei, DERA UK
0048 // 0.b.4 release. No change to this file     
0049 //
0050 ////////////////////////////////////////////////////////////////////////////////
0051 //                                                                            //
0052 //  This class contains the Z, A, E and generation number in a decay chain    //
0053 //  of a given daughter nucleus.  Decay rate coefficients and decay times of  //
0054 //  all ancestor nuclides in decay chains which lead to this daughter are     //
0055 //  also kept in this class.                                                  //
0056 //                                                                            //
0057 ////////////////////////////////////////////////////////////////////////////////
0058    
0059 #include "G4ios.hh"
0060 #include "globals.hh"
0061 
0062 #include <vector>
0063 
0064 class G4RadioactiveDecayRatesToDaughter
0065 {
0066   public:
0067 
0068     G4RadioactiveDecayRatesToDaughter();
0069     virtual ~G4RadioactiveDecayRatesToDaughter();
0070 
0071     G4RadioactiveDecayRatesToDaughter(const G4RadioactiveDecayRatesToDaughter&);
0072     G4RadioactiveDecayRatesToDaughter& operator=(const G4RadioactiveDecayRatesToDaughter&);
0073 
0074     G4bool operator==(const G4RadioactiveDecayRatesToDaughter& right) const {return (this == &right);}
0075     G4bool operator!=(const G4RadioactiveDecayRatesToDaughter& right) const {return (this != &right);}
0076 
0077   public:
0078 
0079     inline G4int GetZ() const {return Z;}
0080     inline G4int GetA() const {return A;}
0081     inline G4double GetE() const {return E;}
0082     inline G4int GetGeneration() const {return generation;}
0083     inline std::vector<G4double> GetDecayRateC() const {return decayRateC;}
0084     inline std::vector<G4double> GetTaos() const {return taos;}
0085 
0086     inline void SetZ(G4int value) {Z = value;}
0087     inline void SetA(G4int value) {A = value;}
0088     inline void SetE(G4double value) {E = value;}
0089     inline void SetGeneration(G4int value) {generation = value;}
0090     inline void SetDecayRateC(std::vector<G4double> value) {decayRateC = std::move(value);}
0091     inline void SetTaos(std::vector<G4double> value) {taos = std::move(value);}
0092 
0093     inline void  SetVerboseLevel(G4int value) {verboseLevel = value;}
0094     inline G4int GetVerboseLevel() const {return verboseLevel;}
0095     void  DumpInfo();
0096 
0097   protected:
0098 
0099     G4int Z;
0100     G4int A;
0101     G4double E;
0102     G4int generation;
0103     std::vector<G4double> decayRateC;
0104     std::vector<G4double> taos;
0105 
0106   private:
0107 
0108     G4int verboseLevel;
0109     // control flag for output message
0110     // G4int verboseLevel;
0111     //  0: Silent
0112     //  1: Warning message
0113     //  2: More
0114 
0115 };
0116 #endif