44 "",
"pp",
"np",
"pip",
"pim",
46 "gp_pi0p",
"gp_pi+n",
"gn_pi-p",
"gn_pi0n",
"gp_etap",
"gp_etapp"
82 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
83 "Method is not implemented");
102 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
103 "Method is not implemented");
130 "G4ComponentSAIDTotalXS::GetTotalElementCrossSection",
131 "Method is not implemented");
146 cross = (
elastdata[idx])->Value(kinEnergy);
184 if(0 ==
Z && sec && 22 ==
code) {
197 }
else if(22 ==
code) {
218#ifdef G4MULTITHREADED
224 char* path = std::getenv(
"G4SAIDXSDATA");
226 G4Exception(
"G4ComponentSAIDTotalXS::Initialise(..)",
"had013",
228 "Environment variable G4SAIDXSDATA is not defined");
240#ifdef G4MULTITHREADED
251 std::ostringstream ost;
252 ost << ss1 <<
"/" <<
fnames[index] << ss2;
253 std::ifstream filein(ost.str().c_str());
256 ed <<
"Data file <" << ost.str().c_str()
257 <<
"> is not opened!";
258 G4Exception(
"G4ComponentSAIDTotalXS::ReadData(..)",
"had014",
262 G4cout <<
"File " << ost.str()
263 <<
" is opened by G4ComponentSAIDTotalXS" <<
G4endl;
280 G4cout <<
"For Z= " <<
Z <<
" N= " << N <<
" of ";
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
#define G4MUTEX_INITIALIZER
#define G4MUTEXLOCK(mutex)
#define G4MUTEXUNLOCK(mutex)
G4GLOB_DLL std::ostream G4cout
virtual G4double GetInelasticElementCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)
void Initialise(G4SAIDCrossSectionType tp)
G4double GetChargeExchangeCrossSection(const G4ParticleDefinition *prim, const G4ParticleDefinition *sec, G4double kinEnergy, G4int, G4int)
virtual G4double GetInelasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
virtual G4double GetElasticElementCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)
virtual G4double GetTotalElementCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)
G4PhysicsVector * elastdata[numberOfSaidXS]
virtual void Description(std::ostream &) const final
virtual G4double GetTotalIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
G4PhysicsVector * inelastdata[numberOfSaidXS]
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
void ReadData(G4int index, G4PhysicsVector *, const G4String &, const G4String &)
virtual ~G4ComponentSAIDTotalXS()
static const G4String fnames[numberOfSaidXS]
void PrintWarning(const G4ParticleDefinition *prim, const G4ParticleDefinition *sec, G4int, G4int, const G4String &, const G4String &)
G4SAIDCrossSectionType GetType(const G4ParticleDefinition *prim, const G4ParticleDefinition *sec, G4int Z, G4int N)
G4int GetPDGEncoding() const
const G4String & GetParticleName() const
void ScaleVector(const G4double factorE, const G4double factorV)
G4bool Retrieve(std::ifstream &fIn, G4bool ascii=false)
void FillSecondDerivatives(const G4SplineType=G4SplineType::Base, const G4double dir1=0.0, const G4double dir2=0.0)
G4int GetVerboseLevel() const
static constexpr double millibarn
static constexpr double MeV