Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:59:01

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 #include <vector>
0062 
0063 
0064 class G4RadioactiveDecayRatesToDaughter
0065 {
0066   public:
0067     G4RadioactiveDecayRatesToDaughter();
0068     virtual ~G4RadioactiveDecayRatesToDaughter();
0069 
0070     G4RadioactiveDecayRatesToDaughter(const G4RadioactiveDecayRatesToDaughter&);
0071     G4RadioactiveDecayRatesToDaughter& operator=(const G4RadioactiveDecayRatesToDaughter&);
0072 
0073     G4bool operator==(const G4RadioactiveDecayRatesToDaughter& right) const
0074       {return (this == &right);};
0075     G4bool operator!=(const G4RadioactiveDecayRatesToDaughter& right) const
0076       {return (this != &right);};
0077 
0078   public:
0079 
0080     inline G4int GetZ() const {return Z;}
0081     inline G4int GetA() const {return A;}
0082     inline G4double GetE() const {return E;}
0083     inline G4int GetGeneration() const {return generation;}
0084     inline std::vector<G4double> GetDecayRateC() const
0085        {return decayRateC;}
0086     inline std::vector<G4double> GetTaos() const {return taos;}
0087 
0088     inline void SetZ(G4int value) {Z = value;}
0089     inline void SetA(G4int value) {A = value;}
0090     inline void SetE(G4double value) {E = value;}
0091     inline void SetGeneration(G4int value) {generation = value;}
0092     inline void SetDecayRateC(std::vector<G4double> value)
0093        {decayRateC = value;}
0094     inline void SetTaos(std::vector<G4double> value) {taos = value;}
0095 
0096   protected:
0097     G4int Z;
0098     G4int A;
0099     G4double E;
0100     G4int generation;
0101     std::vector<G4double> decayRateC;
0102     std::vector<G4double> taos;
0103 
0104   public:
0105 
0106     inline void  SetVerboseLevel(G4int value)
0107       {verboseLevel = value;}
0108     inline G4int GetVerboseLevel() const
0109       {return verboseLevel;}
0110     void  DumpInfo();
0111 
0112   private:
0113     G4int verboseLevel;
0114     // control flag for output message
0115     // G4int verboseLevel;
0116     //  0: Silent
0117     //  1: Warning message
0118     //  2: More
0119 
0120 };
0121 #endif