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 G4RadioactiveDecayChainsFromParent_h
0027 #define G4RadioactiveDecayChainsFromParent_h 1
0028 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0029 //
0030 // MODULE:              RadioactiveDecayRateVector.hh
0031 //   renamed as         G4RadioactiveDecayChainsFromParent.hh  (D.H. wright  6 Oct 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 decay times and coefficients for calculating      //
0053 //  all the descendants in the decay chains of the named isotope.  These      //
0054 //  data can be used to calculate their radioactivity at any given time.      //
0055 //                                                                            //
0056 ////////////////////////////////////////////////////////////////////////////////
0057 
0058 #include "G4ios.hh"
0059 #include "globals.hh"
0060 #include "G4RadioactiveDecayRatesToDaughter.hh"
0061 #include <vector>
0062 
0063 typedef std::vector<G4RadioactiveDecayRatesToDaughter> G4RadioactiveDecayRates;
0064 
0065 class G4RadioactiveDecayChainsFromParent
0066 {
0067   public:
0068     G4RadioactiveDecayChainsFromParent();
0069     virtual ~G4RadioactiveDecayChainsFromParent();
0070   
0071     G4RadioactiveDecayChainsFromParent(const G4RadioactiveDecayChainsFromParent&);
0072     G4RadioactiveDecayChainsFromParent& operator=(const G4RadioactiveDecayChainsFromParent&);
0073   
0074     // equality operators
0075     G4bool operator==(const G4RadioactiveDecayChainsFromParent& right) const
0076       {return (this == &right);}
0077     G4bool operator!=(const G4RadioactiveDecayChainsFromParent& right) const
0078       {return (this != &right);}
0079   
0080   public:
0081 
0082     inline G4String  GetIonName() const {return ionName;}
0083     inline void SetIonName(G4String name) {ionName = name;}
0084 
0085     // Retrieve the coefficients and decays of all descendants along the
0086     // decay chains
0087     inline G4RadioactiveDecayRates GetItsRates() const {return itsRates;}
0088 
0089     // Fill in the coefficients and decay times in the chains
0090     inline void SetItsRates(G4RadioactiveDecayRates arate) {itsRates = arate;}
0091 
0092 protected:
0093     G4String ionName;
0094     G4RadioactiveDecayRates itsRates;
0095 
0096 };
0097 #endif
0098