Skip to content
Snippets Groups Projects
Commit be5c0116 authored by Marco Clemencic's avatar Marco Clemencic
Browse files

v95r2p1

parent 2f752b7a
Branches
Tags v95r2p1
No related merge requests found
Showing with 652 additions and 14 deletions
......@@ -49,7 +49,15 @@ else
echo ' include files exist - NO copy'
endif
#
cd $here
#Not pretty but will work.
if ( $pack == "processes" ) then
echo "Copying patched CHIPS sources"
./copyPatchedSource.py
endif
unset echo
......@@ -56,5 +56,12 @@ then
else
echo ' include files exist - NO copy'
fi
#
cd $here
#Not pretty but will work.
if [ $pack == "processes" ] ; then
echo "Copying patched CHIPS sources"
./copyPatchedSources.py
fi
package G4config
version v95r2
version v95r2p1
branches cmt doc
......
v95r2
v95r2p1
......@@ -4,6 +4,10 @@
! Purpose : Configuration package for Geant4 build
!-----------------------------------------------------------------------------
! ======================= G4config v95r2p1 2013-02-14 ========================
! 2013-02-14 - Nigel Watson
- Modified copy_source.*sh for patch to G4processes source.
! ======================= G4config v95r2 2012-11-23 ========================
! 2012-11-23 - Nigel Watson
- Updated local version number.
......
#!/usr/bin/env python
#
# copyPatchedSource.py
# Author Nigel Watson 14 Feb 2012
#
# Copy private G4 headers from package to install area
#
import os, sys, fnmatch, shutil
def main():
# Dir in which we keep updated source/headers.
SRCNEW_Dir="../srcnew"
# Dir for original source
SRC_Dir="../hadronic/models/chiral_inv_phase_space/interface/src"
# Can we get cmt macro values in .python?
# Expanded by cmt to be $(GEANT4_home)/$(GEANT4_installarea_prefix)/include
# INSTALLAREA_project=os.environ['GEANT4_install_include']
# INSTALLAREA_package=os.environ['G4PROCESSESROOT']+'/G4processes'
INSTALLAREA_project = "../../../InstallArea/include"
INSTALLAREA_package = "../G4processes"
#$(G4processes_root)/G4processes
# Find any files in the srcnew dir
for newfile in os.listdir(SRCNEW_Dir):
if fnmatch.fnmatch(newfile, '*.hh'):
#Replace old headers in install areas with new.
fname = os.path.join(SRCNEW_Dir, newfile)
shutil.copy2(fname,INSTALLAREA_project)
shutil.copy2(fname,INSTALLAREA_package)
# Replace old .cc with new.
if fnmatch.fnmatch(newfile, '*.cc'):
fname = os.path.join(SRCNEW_Dir, newfile)
shutil.copy2(fname,SRC_Dir)
if __name__ == "__main__":
main()
......@@ -3,7 +3,7 @@
# Maintainer : Gloria CORTI
#============================================================================
package G4processes
version v8r2
version v8r3p1
# Structure, i.e. directories to process.
#============================================================================
......@@ -112,9 +112,7 @@ library G4processeshad $(G4LibraryFlags) \
-s=../hadronic/models/photolepton_hadron \
muon_nuclear/src/*.cc \
-s=../hadronic/models/pre_equilibrium \
exciton_model/src/*.cc
exciton_model/src/*.cc
# Patterns
#============================================================================
......@@ -128,12 +126,25 @@ apply_pattern linker_library library=G4processeshad
macro_append G4processeshad_use_linkopts " -lG4processes" \
WIN32 " G4processes.lib "
set_remove
macro_append G4processeshad_dependencies G4processes
#============================================================================
private
apply_pattern G4_copy_source
# Run ad hoc copying of patched sources from G4config/copy_source.*sh
#action copy_patched_source "./copyPatchedSource.py"
#Defined copying additional files
# Run the action copy_patched_includes when calling make
#macro_append constituents " copy_patched_source"
# Prevent actions to be run twice when calling 'make all_groups'
#macro_remove cmt_actions_constituents "copy_patched_source"
end_private
v8r2
v8r3p1
!-----------------------------------------------------------------------------
! Package : Geant4/G4processes
! Responsible : Gloria CORTI, Silvia MIGLIORANZI
! Responsible : Gloria CORTI, Nigel Watson
! Purpose :
!-----------------------------------------------------------------------------
! ======================= G4processes v8r3p1 2013-02-14 ========================
! 2013-02-14 - Nigel Watson
- Remove copyPatchedIncludes.py, add copyPatchedSource.py, replaces .cc/.hh from ../srcnew
(private version of G4 sources) into the InstallArea and package's include area.
! ======================= G4processes v8r3 2013-02-08 ========================
! 2013-02-08 - Nigel Watson
- Added copyPatchedIncludes.py to put headers from ../srcnew (private version
of G4 sources) into the InstallArea, updated requirements for this action.
! ======================= G4processes v8r2 2012-11-23 ========================
! 2012-11-23 - Nigel Watson
- Tagged for release with G4 v95r2.
......
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4QHadronInelasticDataSet.cc,v 1.2 2010-05-26 12:19:06 mkossov Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// GEANT4 physics class: G4QHadronInelasticDataSet -- header file
// Created by M. Kosov (Mikhail.Kossov@cern.ch) 11.11.09
//
// ------------------------------------------------------------------------
// Short description: G4hadr wrapper for CHIPS inelastic hA cross-sections.
// ------------------------------------------------------------------------
//
#include "G4QHadronInelasticDataSet.hh"
#include <iostream>
//// Initialization of static vectors
//std::vector<G4int> G4QHadronInelasticDataSet::ElementZ;
//// Z of the element(i) in LastCalc
//
//std::vector<std::vector<G4int>*> G4QHadronInelasticDataSet::ElIsoN;
//// N of iso(j) of El(i)
//
//std::vector<std::vector<G4double>*> G4QHadronInelasticDataSet::IsoProbInEl;
////SumProbIsoInEl
G4QHadronInelasticDataSet::G4QHadronInelasticDataSet(const G4String& input_name)
: G4VCrossSectionDataSet(input_name)
{
//CHIPSpAin = G4QProtonNuclearCrossSection::GetPointer();
//CHIPSnAin = G4QNeutronNuclearCrossSection::GetPointer();
//CHIPSpimAin = G4QPionMinusNuclearCrossSection::GetPointer();
//CHIPSpipAin = G4QPionPlusNuclearCrossSection::GetPointer();
//CHIPSkpAin = G4QKaonPlusNuclearCrossSection::GetPointer();
//CHIPSkmAin = G4QKaonMinusNuclearCrossSection::GetPointer();
//CHIPSk0Ain = G4QKaonZeroNuclearCrossSection::GetPointer();
//CHIPShAin = G4QHyperonNuclearCrossSection::GetPointer();
//CHIPShpAin = G4QHyperonPlusNuclearCrossSection::GetPointer();
//CHIPSabpAin = G4QAntiBaryonPlusNuclearCrossSection::GetPointer();
//CHIPSabAin = G4QAntiBaryonNuclearCrossSection::GetPointer();
////CHIPSphAin = G4QPhotonNuclearCrossSection::GetPointer();
////CHIPSeAin = G4QElectronNuclearCrossSection::GetPointer();
////CHIPSmuAin = G4QMuonNuclearCrossSection::GetPointer();
////CHIPStauAin = G4QTauNuclearCrossSection::GetPointer();
////CHIPSnumAin = G4QNuMuNuclearCrossSection::GetPointer();
////CHIPSanumAin = G4QANuMuNuclearCrossSection::GetPointer();
////CHIPSnueAin = G4QNuENuclearCrossSection::GetPointer();
////CHIPSanueAin = G4QANuENuclearCrossSection::GetPointer();
////CHIPSnunuAin = G4QNuNuNuclearCrossSection::GetPointer();
////CHIPSananAin = G4QANuANuNuclearCrossSection::GetPointer();
//Isotopes = G4QIsotope::Get(); // Pointer to the G4QIsotopes singleton
Description();
}
void G4QHadronInelasticDataSet::Description() const
{
char* dirName = getenv("G4PhysListDocDir");
if (dirName) {
std::ofstream outFile;
G4String outFileName = GetName() + ".html";
G4String pathName = G4String(dirName) + "/" + outFileName;
outFile.open(pathName);
outFile << "<html>\n";
outFile << "<head>\n";
outFile << "<title>Description of CHIPSInelasticXS</title>\n";
outFile << "</head>\n";
outFile << "<body>\n";
outFile << "CHIPSInelasticXS provides hadron-nuclear inelastic cross\n"
<< "sections for all hadrons at all energies. These cross\n"
<< "sections represent parameterizations developed by M. Kossov.\n";
outFile << "</body>\n";
outFile << "</html>\n";
outFile.close();
}
}
G4bool G4QHadronInelasticDataSet::IsIsoApplicable(const G4DynamicParticle* Pt, G4int,G4int,
const G4Element*, const G4Material*)
{
G4ParticleDefinition* particle = Pt->GetDefinition();
if (particle == G4Neutron::Neutron() ) return true; // @@ isotopes?
else if (particle == G4Proton::Proton() ) return true;
else if (particle == G4PionMinus::PionMinus() ) return true;
else if (particle == G4PionPlus::PionPlus() ) return true;
else if (particle == G4KaonPlus::KaonPlus() ) return true;
else if (particle == G4KaonMinus::KaonMinus() ) return true;
else if (particle == G4KaonZeroLong::KaonZeroLong() ) return true;
else if (particle == G4KaonZeroShort::KaonZeroShort() ) return true;
else if (particle == G4Lambda::Lambda() ) return true;
else if (particle == G4SigmaPlus::SigmaPlus() ) return true;
else if (particle == G4SigmaMinus::SigmaMinus() ) return true;
else if (particle == G4SigmaZero::SigmaZero() ) return true;
else if (particle == G4XiMinus::XiMinus() ) return true;
else if (particle == G4XiZero::XiZero() ) return true;
else if (particle == G4OmegaMinus::OmegaMinus() ) return true;
else if (particle == G4AntiNeutron::AntiNeutron() ) return true;
else if (particle == G4AntiProton::AntiProton() ) return true;
else if (particle == G4AntiLambda::AntiLambda() ) return true;
else if (particle == G4AntiSigmaPlus::AntiSigmaPlus() ) return true;
else if (particle == G4AntiSigmaMinus::AntiSigmaMinus() ) return true;
else if (particle == G4AntiSigmaZero::AntiSigmaZero() ) return true;
else if (particle == G4AntiXiMinus::AntiXiMinus() ) return true;
else if (particle == G4AntiXiZero::AntiXiZero() ) return true;
else if (particle == G4AntiOmegaMinus::AntiOmegaMinus() ) return true;
//else if (particle == G4MuonPlus::MuonPlus() ) return true;
//else if (particle == G4MuonMinus::MuonMinus() ) return true;
//else if (particle == G4Gamma::Gamma() ) return true;
//else if (particle == G4Electron::Electron() ) return true;
//else if (particle == G4Positron::Positron() ) return true;
//else if (particle == G4TauPlus::TauPlus() ) return true;
//else if (particle == G4TauMinus::TauMinus() ) return true;
//else if (particle == G4AntiNeutrinoE::AntiNeutrinoE() ) return true;
//else if (particle == G4NeutrinoE::NeutrinoE() ) return true;
//else if (particle == G4AntiNeutrinoMu::AntiNeutrinoMu() ) return true;
//else if (particle == G4NeutrinoMu::NeutrinoMu() ) return true;
//else if (particle == G4AntiNeutrinoTau::AntiNeutrinoTau()) return true;
//else if (particle == G4NeutrinoTau::NeutrinoTau() ) return true;
return false;
}
// Now it is in G4VCrossSectionDataSet...
/*
G4double G4QHadronInelasticDataSet::GetCrossSection(const G4DynamicParticle* Pt,
const G4Element* pElement, G4double)
{
G4int IPIE=IsoProbInEl.size(); // How many old elements?
if(IPIE) for(G4int ip=0; ip<IPIE; ++ip) // Clean up the SumProb's of Isotopes (SPI)
{
std::vector<G4double>* SPI=IsoProbInEl[ip]; // Pointer to the SPI vector
SPI->clear();
delete SPI;
std::vector<G4int>* IsN=ElIsoN[ip]; // Pointer to the N vector
IsN->clear();
delete IsN;
}
ElementZ.clear(); // Clear the body vector for Z of Elements
IsoProbInEl.clear(); // Clear the body vector for SPI
ElIsoN.clear(); // Clear the body vector for N of Isotopes
G4int Z = static_cast<G4int>(pElement->GetZ()); // Z of the Element
ElementZ.push_back(Z); // Remember Z of the Element
G4int isoSize=0; // The default for the isoVectorLength is 0
G4int indEl=0; // Index of non-trivial element or 0(default)
G4IsotopeVector* isoVector=pElement->GetIsotopeVector(); // Get the predefined IsoVect
if(isoVector) isoSize=isoVector->size();// Get size of the existing isotopeVector
if(isoSize) // The Element has non-trivial abundance set
{
indEl=pElement->GetIndex()+1; // Index of the non-trivial element
if(!Isotopes->IsDefined(Z,indEl)) // This index is not defined for this Z: define
{
std::vector<std::pair<G4int,G4double>*>* newAbund =
new std::vector<std::pair<G4int,G4double>*>;
G4double* abuVector=pElement->GetRelativeAbundanceVector();
for(G4int j=0; j<isoSize; j++) // Calculation of abundance vector for isotopes
{
G4int N=pElement->GetIsotope(j)->GetN()-Z; // N means A=N+Z !
if(pElement->GetIsotope(j)->GetZ()!=Z)
G4cerr<<"G4QHadronInelasticDataSet::GetCrossSection"<<": Z="
<<pElement->GetIsotope(j)->GetZ()<<" # "<<Z<<G4endl;
G4double abund=abuVector[j];
std::pair<G4int,G4double>* pr= new std::pair<G4int,G4double>(N,abund);
newAbund->push_back(pr);
}
indEl=G4QIsotope::Get()->InitElement(Z,indEl,newAbund); // definition of the newInd
for(G4int k=0; k<isoSize; k++) delete (*newAbund)[k]; // Cleaning temporary
delete newAbund; // Was "new" in the beginning of the name space
}
}
std::vector<std::pair<G4int,G4double>*>* cs= Isotopes->GetCSVector(Z,indEl);//CSPointer
std::vector<G4double>* SPI = new std::vector<G4double>; // Pointer to the SPI vector
IsoProbInEl.push_back(SPI);
std::vector<G4int>* IsN = new std::vector<G4int>; // Pointer to the N vector
ElIsoN.push_back(IsN);
G4int nIs=cs->size(); // A#Of Isotopes in the Element
G4double susi=0.; // sum of CS over isotopes
if(nIs) for(G4int j=0; j<nIs; j++) // Calculate CS for eachIsotope of El
{
std::pair<G4int,G4double>* curIs=(*cs)[j]; // A pointer, which is used twice
G4int N=curIs->first; // #of Neuterons in the isotope j of El i
IsN->push_back(N); // Remember Min N for the Element
G4double CSI=GetIsoZACrossSection(Pt,Z,Z+N,0.);//CrossSection(j,i) for the isotope
curIs->second = CSI;
susi+=CSI; // Make a sum per isotopes
SPI->push_back(susi); // Remember summed cross-section
} // End of temporary initialization of the cross sections in the G4QIsotope singeltone
return Isotopes->GetMeanCrossSection(Z,indEl); // MeanCS over isotopes
}
*/
G4double G4QHadronInelasticDataSet::GetIsoCrossSection(const G4DynamicParticle* Pt,G4int Z,
G4int A, const G4Isotope*,
const G4Element*, const G4Material*)
{
G4ParticleDefinition* particle = Pt->GetDefinition();
G4double Momentum=Pt->GetTotalMomentum();
G4VQCrossSection* CSmanager=0;
G4int pPDG=0;
if(particle == G4Neutron::Neutron())
{
CSmanager=G4QNeutronNuclearCrossSection::GetPointer();
pPDG=2112;
}
else if(particle == G4Proton::Proton())
{
CSmanager=G4QProtonNuclearCrossSection::GetPointer();
pPDG=2212;
}
else if(particle == G4PionMinus::PionMinus())
{
CSmanager=G4QPionMinusNuclearCrossSection::GetPointer();
pPDG=-211;
}
else if(particle == G4PionPlus::PionPlus())
{
CSmanager=G4QPionPlusNuclearCrossSection::GetPointer();
pPDG=211;
}
else if(particle == G4KaonMinus::KaonMinus())
{
CSmanager=G4QKaonMinusNuclearCrossSection::GetPointer();
pPDG=-321;
}
else if(particle == G4KaonPlus::KaonPlus())
{
CSmanager=G4QKaonPlusNuclearCrossSection::GetPointer();
pPDG=321;
}
else if(particle == G4KaonZeroLong::KaonZeroLong() ||
particle == G4KaonZeroShort::KaonZeroShort() ||
particle == G4KaonZero::KaonZero() ||
particle == G4AntiKaonZero::AntiKaonZero() )
{
CSmanager=G4QKaonZeroNuclearCrossSection::GetPointer();
if(G4UniformRand() > 0.5) pPDG= 311;
else pPDG=-311;
}
else if(particle == G4Lambda::Lambda())
{
CSmanager=G4QHyperonNuclearCrossSection::GetPointer();
pPDG=3122;
}
else if(particle == G4SigmaPlus::SigmaPlus())
{
CSmanager=G4QHyperonPlusNuclearCrossSection::GetPointer();
pPDG=3222;
}
else if(particle == G4SigmaMinus::SigmaMinus())
{
CSmanager=G4QHyperonNuclearCrossSection::GetPointer();
pPDG=3112;
}
else if(particle == G4SigmaZero::SigmaZero())
{
CSmanager=G4QHyperonNuclearCrossSection::GetPointer();
pPDG=3212;
}
else if(particle == G4XiMinus::XiMinus())
{
CSmanager=G4QHyperonNuclearCrossSection::GetPointer();
pPDG=3312;
}
else if(particle == G4XiZero::XiZero())
{
CSmanager=G4QHyperonNuclearCrossSection::GetPointer();
pPDG=3322;
}
else if(particle == G4OmegaMinus::OmegaMinus())
{
CSmanager=G4QHyperonNuclearCrossSection::GetPointer();
pPDG=3334;
}
else if(particle == G4AntiNeutron::AntiNeutron())
{
CSmanager=G4QAntiBaryonNuclearCrossSection::GetPointer();
pPDG=-2112;
}
else if(particle == G4AntiProton::AntiProton())
{
CSmanager=G4QAntiBaryonNuclearCrossSection::GetPointer();
pPDG=-2212;
}
else if(particle == G4AntiLambda::AntiLambda())
{
CSmanager=G4QAntiBaryonNuclearCrossSection::GetPointer();
pPDG=-3122;
}
else if(particle == G4AntiSigmaPlus::AntiSigmaPlus())
{
CSmanager=G4QAntiBaryonNuclearCrossSection::GetPointer();
pPDG=-3222;
}
else if(particle == G4AntiSigmaMinus::AntiSigmaMinus())
{
CSmanager=G4QAntiBaryonPlusNuclearCrossSection::GetPointer();
pPDG=-3112;
}
else if(particle == G4AntiSigmaZero::AntiSigmaZero())
{
CSmanager=G4QAntiBaryonNuclearCrossSection::GetPointer();
pPDG=-3212;
}
else if(particle == G4AntiXiMinus::AntiXiMinus())
{
CSmanager=G4QAntiBaryonPlusNuclearCrossSection::GetPointer();
pPDG=-3312;
}
else if(particle == G4AntiXiZero::AntiXiZero())
{
CSmanager=G4QAntiBaryonNuclearCrossSection::GetPointer();
pPDG=-3322;
}
else if(particle == G4AntiOmegaMinus::AntiOmegaMinus())
{
CSmanager=G4QAntiBaryonPlusNuclearCrossSection::GetPointer();
pPDG=-3334;
}
//else if(particle == G4Gamma::Gamma())
//{
// CSmanager=G4QPhotonNuclearCrossSection::GetPointer();
// pPDG=22;
//}
//else if(particle == G4Electron::Electron() ||
// particle == G4Positron::Positron())
//{
// CSmanager=G4QElectronNuclearCrossSection::GetPointer();
// pPDG=11;
//}
//else if(particle == G4MuonPlus::MuonPlus() ||
// particle == G4MuonMinus::MuonMinus())
//{
// CSmanager=G4QMuonNuclearCrossSection::GetPointer();
// pPDG=13;
//}
//else if(particle == G4TauPlus::TauPlus() ||
// particle == G4TauMinus::TauMinus())
//{
// CSmanager=G4QTauNuclearCrossSection::GetPointer();
// pPDG=15;
//}
//else if(particle == G4NeutrinoMu::NeutrinoMu() )
//{
// CSmanager=G4QNuMuNuclearCrossSection::GetPointer();
// CSmanager2=G4QNuNuNuclearCrossSection::GetPointer();
// pPDG=14;
//}
//else if(particle == G4AntiNeutrinoMu::AntiNeutrinoMu() )
//{
// CSmanager=G4QANuMuNuclearCrossSection::GetPointer();
// CSmanager2=G4QANuANuNuclearCrossSection::GetPointer();
// pPDG=-14;
//}
//else if(particle == G4NeutrinoE::NeutrinoE() )
//{
// CSmanager=G4QNuENuclearCrossSection::GetPointer();
// CSmanager2=G4QNuNuNuclearCrossSection::GetPointer();
// pPDG=12;
//}
//else if(particle == G4AntiNeutrinoE::AntiNeutrinoE() )
//{
// CSmanager=G4QANuENuclearCrossSection::GetPointer();
// CSmanager2=G4QANuANuNuclearCrossSection::GetPointer();
// pPDG=-12;
//}
else
{
G4cerr << "-ERROR-G4QHadronInelasticDataSet::GetIsoZACrossSection: PDG="
<< particle->GetPDGEncoding() << " isn't supported by CHIPS" << G4endl;
//throw G4HadronicException(__FILE__, __LINE__,
//"G4QHadronInelasticDataSet::GetIsoZACrossSection: Particle not supported by CHIPS");
return 0;
}
G4int N=A-Z;
G4double CSI=CSmanager->GetCrossSection(true, Momentum, Z, N, pPDG); // CS(j,i) basic
return CSI;
}
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4QHadronInelasticDataSet.hh,v 1.2 2010-01-22 17:02:49 mkossov Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// GEANT4 physics class: G4QHadronInelasticDataSet -- header file
// Created by M. Kosov (Mikhail.Kossov@cern.ch) 11.11.09
//
// ------------------------------------------------------------------------
// Short description: G4hadr wrapper for CHIPS inelastic hA cross-sections.
// ------------------------------------------------------------------------
#ifndef G4QHadronInelasticDataSet_h
#define G4QHadronInelasticDataSet_h 1
#include "G4VCrossSectionDataSet.hh"
#include "G4DynamicParticle.hh"
#include "G4Element.hh"
#include "G4Neutron.hh"
#include "G4Proton.hh"
#include "G4PionMinus.hh"
#include "G4PionPlus.hh"
#include "G4KaonPlus.hh"
#include "G4KaonMinus.hh"
#include "G4KaonZeroLong.hh"
#include "G4KaonZeroShort.hh"
#include "G4Lambda.hh"
#include "G4SigmaPlus.hh"
#include "G4SigmaMinus.hh"
#include "G4SigmaZero.hh"
#include "G4XiMinus.hh"
#include "G4XiZero.hh"
#include "G4OmegaMinus.hh"
#include "G4AntiNeutron.hh"
#include "G4AntiProton.hh"
#include "G4AntiLambda.hh"
#include "G4AntiSigmaPlus.hh"
#include "G4AntiSigmaMinus.hh"
#include "G4AntiSigmaZero.hh"
#include "G4AntiXiMinus.hh"
#include "G4AntiXiZero.hh"
#include "G4AntiOmegaMinus.hh"
//#include "G4Gamma.hh"
//#include "G4MuonPlus.hh"
//#include "G4MuonMinus.hh"
//#include "G4Electron.hh"
//#include "G4Positron.hh"
//#include "G4TauPlus.hh"
//#include "G4TauMinus.hh"
//#include "G4AntiNeutrinoE.hh"
//#include "G4NeutrinoE.hh"
//#include "G4AntiNeutrinoMu.hh"
//#include "G4NeutrinoMu.hh"
//#include "G4AntiNeutrinoTau.hh"
//#include "G4NeutrinoTau.hh"
#include "G4QIsotope.hh"
#include "G4QProtonNuclearCrossSection.hh"
#include "G4QNeutronNuclearCrossSection.hh"
#include "G4QPionMinusNuclearCrossSection.hh"
#include "G4QPionPlusNuclearCrossSection.hh"
#include "G4QKaonPlusNuclearCrossSection.hh"
#include "G4QKaonMinusNuclearCrossSection.hh"
#include "G4QKaonZeroNuclearCrossSection.hh"
#include "G4QHyperonNuclearCrossSection.hh"
#include "G4QHyperonPlusNuclearCrossSection.hh"
#include "G4QAntiBaryonPlusNuclearCrossSection.hh"
#include "G4QAntiBaryonNuclearCrossSection.hh"
//#include "G4QPhotonNuclearCrossSection.hh"
//#include "G4QElectronNuclearCrossSection.hh"
//#include "G4QMuonNuclearCrossSection.hh"
//#include "G4QTauNuclearCrossSection.hh"
//#include "G4QNuMuNuclearCrossSection.hh"
//#include "G4QANuMuNuclearCrossSection.hh"
//#include "G4QNuENuclearCrossSection.hh"
//#include "G4QANuENuclearCrossSection.hh"
//#include "G4QNuNuNuclearCrossSection.hh"
//#include "G4QANuANuNuclearCrossSection.hh"
class G4QHadronInelasticDataSet : public G4VCrossSectionDataSet
{
public:
G4QHadronInelasticDataSet(const G4String& input_name = "CHIPSInelasticXS");
~G4QHadronInelasticDataSet() {};
G4bool IsIsoApplicable(const G4DynamicParticle*, G4int Z, G4int A,
const G4Element* elm = 0, const G4Material* mat = 0);
G4double GetIsoCrossSection(const G4DynamicParticle* P, G4int Z, G4int A,
const G4Isotope*, const G4Element*, const G4Material*);
void BuildPhysicsTable(const G4ParticleDefinition&){};
void DumpPhysicsTable(const G4ParticleDefinition&) {};
void Description() const;
//private:
//G4QIsotope* Isotopes; // Pointer to the G4QIsotopes singleton
//static std::vector <G4int> ElementZ;
//// Z of the element(i) in theLastCalc
//
//static std::vector <std::vector<G4int>*> ElIsoN;
//// N of isotope(j) of Element(i)
//
//static std::vector <std::vector<G4double>*> IsoProbInEl;
//// SumProbabIsotopes in Element i
};
#endif
package Geant4Sys
version v95r2
version v95r2p1
branches cmt doc
use G4config v95r2 Geant4
use G4config v95r2p1 Geant4
# =============================================================================
# =========== global libraries ================================================
......@@ -13,7 +13,7 @@ use G4intercoms v4r1p1 Geant4
use G4particles v6r2p1 Geant4
use G4track v5r1p1 Geant4
use G4geometry v6r2p1 Geant4
use G4processes v8r2 Geant4
use G4processes v8r3p1 Geant4
use G4physics_lists v1r3 Geant4
use G4tracking v6r1p1 Geant4
use G4global v5r1p1 Geant4
......
v95r2
v95r2p1
......@@ -3,6 +3,30 @@ Package : Geant4Sys
Package manager(s) : Gloria Corti, Hubert DeGaudenzi, Nigel Watson
Purpose : LHCb build using cmt of Geant4
!=============================================================================
!</PRE><H1><A NAME=v95r2p1>2013-02-18 Geant4Sys v95r2p1</A></H1><PRE>
! 2013-02-14 - Nigel Watson
- Fix copying patched source for G4processes via G4config scripts.
! ======================= G4config v95r2p1 2013-02-14 ========================
! 2013-02-14 - Nigel Watson
- Modified copy_source.*sh for patch to G4processes source.
! ======================= G4processes v8r3p1 2013-02-14 ========================
! 2013-02-14 - Nigel Watson
- Remove copyPatchedIncludes.py, add copyPatchedSource.py, replaces .cc/.hh from ../srcnew
(private version of G4 sources) into the InstallArea and package's include area.
! 2013-02-09 - Nigel Watson
Patch release because of bug found in use of LHEP cross-sections in FTFP_BERT
et al., where not intended by authors.
! ======================= G4processes v8r3 2013-02-08 ========================
! 2013-02-08 - Nigel Watson
- Added copyPatchedIncludes.py to put headers from ../srcnew (private version
of G4 sources) into the InstallArea, updated requirements for this action.
!=============================================================================
!</PRE><H1><A NAME=v95r2>2012-11-23 Geant4Sys v95r2</A></H1><PRE>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment