Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4FastPathHadronicCrossSection.hh File Reference
#include "G4PhysicsFreeVector.hh"
#include "G4ParticleDefinition.hh"
#include "G4Material.hh"
#include <functional>
#include <utility>
#include <unordered_map>
#include <iostream>
#include <set>
#include <stdint.h>
Include dependency graph for G4FastPathHadronicCrossSection.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  G4FastPathHadronicCrossSection::fastPathEntry
 
struct  G4FastPathHadronicCrossSection::cycleCountEntry
 
struct  G4FastPathHadronicCrossSection::timing
 
struct  G4FastPathHadronicCrossSection::getCrossSectionCount
 
struct  G4FastPathHadronicCrossSection::G4CrossSectionDataStore_Key_Hash
 
struct  G4FastPathHadronicCrossSection::G4CrossSectionDataStore_Key_EqualTo
 
struct  G4FastPathHadronicCrossSection::fastPathRequestConfig_t
 
struct  G4FastPathHadronicCrossSection::fastPathRequestConfig_Less
 
struct  G4FastPathHadronicCrossSection::controlFlag
 
struct  G4FastPathHadronicCrossSection::fastPathParameters
 

Namespaces

 G4FastPathHadronicCrossSection
 

Typedefs

using G4FastPathHadronicCrossSection::XSParam = G4PhysicsFreeVector
 
using G4FastPathHadronicCrossSection::G4CrossSectionDataStore_Key = std::pair< const G4ParticleDefinition *, const G4Material * >
 
using G4FastPathHadronicCrossSection::G4CrossSectionDataStore_Cache = std::unordered_map< G4CrossSectionDataStore_Key, cycleCountEntry *, G4CrossSectionDataStore_Key_Hash, G4CrossSectionDataStore_Key_EqualTo >
 
using G4FastPathHadronicCrossSection::G4CrossSectionDataStore_Requests = std::set< fastPathRequestConfig_t, fastPathRequestConfig_Less >
 

Functions

static void G4FastPathHadronicCrossSection::logInvocationTriedOneLine (cycleCountEntry *)
 
static void G4FastPathHadronicCrossSection::logInvocationOneLine (cycleCountEntry *)
 
static void G4FastPathHadronicCrossSection::logHit (cycleCountEntry *)
 
static void G4FastPathHadronicCrossSection::logInvocationCountFastPath (cycleCountEntry *)
 
static void G4FastPathHadronicCrossSection::logInvocationCountSlowPAth (cycleCountEntry *)
 
void G4FastPathHadronicCrossSection::logStartCountCycles (timing &)
 
void G4FastPathHadronicCrossSection::logStopCountCycles (timing &)
 
static void G4FastPathHadronicCrossSection::logInitCyclesFastPath (cycleCountEntry *, timing &)
 
static void G4FastPathHadronicCrossSection::logTotalCyclesFastPath (cycleCountEntry *, timing &)
 
static void G4FastPathHadronicCrossSection::logTotalCyclesSlowPath (cycleCountEntry *, timing &)
 
static void G4FastPathHadronicCrossSection::logTiming (cycleCountEntry *, fastPathEntry *, timing &)
 
std::ostream & operator<< (std::ostream &os, const G4FastPathHadronicCrossSection::fastPathEntry &fp)
 

Function Documentation

std::ostream & operator<< ( std::ostream &  os,
const G4FastPathHadronicCrossSection::fastPathEntry fp 
)
inline

Definition at line 297 of file G4FastPathHadronicCrossSection.hh.

297  {
298  using CLHEP::MeV;
299  os<<"#Particle: "<<(fp.particle!=nullptr?fp.particle->GetParticleName():"UNDEFINED")<<"\n";
300  os<<"#Material: "<<(fp.material!=nullptr?fp.material->GetName():"UNDEFINED")<<"\n";
301  os<<"#min_cutoff(MeV): "<<fp.min_cutoff/MeV<<"\n";
302 #ifdef FPDEBUG
303  os<<"#DEBUG COUNTERS: count="<<fp.count<<" slowpath_sum="<<fp.slowpath_sum<<" max_delta="<<fp.max_delta;
304  os<<" min_delta="<<fp.min_delta<<" sum_delta="<<fp.sum_delta<<" sum_delta_square="<<fp.sum_delta_square<<"\n";
305 #endif
306  os<<*(fp.physicsVector)<<"\n";
307  return os;
308 }
XSParam * physicsVector
const G4String & GetName() const
Definition: G4Material.hh:178
const G4ParticleDefinition *const particle
const G4double min_cutoff
const G4Material *const material
const G4String & GetParticleName() const
static constexpr double MeV
static constexpr double MeV
Definition: G4SIunits.hh:214

Here is the call graph for this function: