Back to home page

EIC code displayed by LXR

 
 

    


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

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 //
0027 //
0028 // Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
0029 //
0030 // History:
0031 // -----------
0032 //  28 Nov 2001  Elena Guardincerri   Created
0033 //
0034 // -------------------------------------------------------------------
0035 
0036 
0037 #ifndef XrayFluoRunAction_h
0038 #define XrayFluoRunAction_h 1
0039 
0040 #include "G4UserRunAction.hh"
0041 #include "globals.hh"
0042 #include <map>
0043 
0044 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
0045 
0046 class G4Run;
0047 class XrayFluoDataSet;
0048 class G4DataVector;
0049 
0050 class XrayFluoRunAction : public G4UserRunAction
0051 {
0052 
0053 public:
0054   XrayFluoRunAction();
0055   
0056   ~XrayFluoRunAction();
0057   const XrayFluoDataSet* GetSet() const;
0058   const XrayFluoDataSet* GetGammaSet() const;
0059   const XrayFluoDataSet* GetAlphaSet() const;
0060   
0061   //  const XrayFluoDataSet* GetEfficiencySet();
0062   G4DataVector* GetEnergies() const;
0063   G4DataVector* GetData() const;
0064   
0065   
0066 public:
0067   void BeginOfRunAction(const G4Run*);
0068   void EndOfRunAction(const G4Run*);
0069   
0070   //returns the sum of the element of data
0071   G4double GetDataSum() const;
0072   
0073   //calulates the maximum integer contained in energy
0074   //choose from dataMap and energyMap the set of values
0075   //corresponding to the calculated integer
0076   //returns a value of energy chosen randomly from this set 
0077   //  G4double GetInfData(G4double energy, G4double random, G4int posIndex);
0078   
0079   //calulates the minimum integer contained in energy
0080   //choose from dataMap and energyMap the set of values
0081   //corresponding to the calculated integer
0082   //returns a value of energy chosen randomly from this set 
0083   //  G4double GetSupData(G4double energy, G4double random, G4int posIndex);
0084   
0085 private:
0086 
0087   void Initialise();
0088   G4bool isInitialized;
0089 
0090   const XrayFluoDataSet* dataSet;
0091   
0092   //stores the data of the incident gamma spectrum
0093   const XrayFluoDataSet* dataGammaSet;
0094 
0095   //stores the data of the incident alpha spectrum
0096   const XrayFluoDataSet* dataAlphaSet;  
0097 
0098   //stores the energy data of the proton and alpha spectra
0099   G4DataVector* energies;
0100 
0101   //stores the data of the proton and alpha spectra
0102    G4DataVector* data;
0103   
0104   //read the data for protons and alpha spectra
0105   void ReadData(G4double,G4String);
0106 
0107   //read the data for the response function if the detector
0108   //void ReadResponse(const G4String& fileName);
0109   
0110  
0111 
0112 };
0113 
0114 #endif
0115