135   for (
size_t j=0; j<msc; ++j) {
 
  139   for (
size_t k=0; k<emp; ++k) {
 
  144   for (
size_t a=0; 
a<mod; ++
a) {
 
  146       for (
size_t b=0; b<fmod; ++b) {
 
  154   for (
size_t b=0; b<fmod; ++b) {
 
  235     G4cout << 
"G4LossTableManager::Register G4VEnergyLossProcess : "  
  293   for (
G4int i=0; i<
n; ++i) {
 
  297     G4cout << 
"G4LossTableManager::Register G4VMultipleScattering : "  
  309   for (
size_t i=0; i<msc; ++i) {
 
  320   for (
G4int i=0; i<
n; ++i) {
 
  324     G4cout << 
"G4LossTableManager::Register G4VEmProcess : "  
  336   for (
size_t i=0; i<emp; ++i) {
 
  347     G4cout << 
"G4LossTableManager::Register G4VEmModel : "  
  357   for (
size_t i=0; i<
n; ++i) {
 
  368     G4cout << 
"G4LossTableManager::Register G4VEmFluctuationModel : "  
  378   for (
size_t i=0; i<
n; ++i) {
 
  389   if(!p || !part) { 
return; }
 
  394     G4cout << 
"G4LossTableManager::RegisterExtraParticle " 
  417     G4cout << 
"G4LossTableManager::PreparePhysicsTable for "  
  428       G4cout << 
"====== G4LossTableManager::PreparePhysicsTable start =====" 
  457     G4cout << 
"G4LossTableManager::PreparePhysicsTable for "  
  466       G4cout << 
"====== G4LossTableManager::PreparePhysicsTable start =====" 
  486     G4cout << 
"G4LossTableManager::PreparePhysicsTable for "  
  496       G4cout << 
"====== G4LossTableManager::PreparePhysicsTable start =====" 
  525     G4cout << 
"### G4LossTableManager::LocalPhysicsTable() for " 
  540       G4cout << 
"===== G4LossTableManager::LocalPhysicsTable() for run " 
  598     G4cout << 
"### G4LossTableManager::LocalPhysicsTable end" 
  603       G4cout << 
"%%%%% All dEdx and Range tables for worker are ready for run " 
  616     G4cout << 
"### G4LossTableManager::BuildPhysicsTable() for " 
  628       G4cout << 
"===== G4LossTableManager::BuildPhysicsTable() for run " 
  643       G4cout << 
"### G4LossTableManager start initilisation for first particle " 
  674             G4cout << 
"  base particle "  
  703       if(curr_proc) { 
CopyTables(curr_part, curr_proc); }
 
  710     G4cout << 
"### G4LossTableManager::BuildPhysicsTable end: " 
  716       G4cout << 
"%%%%% All dEdx and Range tables are built for master run= "  
  751                 << 
" tables are assigned " 
  768     G4cout << 
"G4LossTableManager::BuildTables() for " 
  772   std::vector<G4PhysicsTable*> t_list;  
 
  773   std::vector<G4VEnergyLossProcess*> loss_list;
 
  774   std::vector<G4bool> build_flags;
 
  785   for (i=0; i<
n_loss; ++i) {
 
  793         for(
G4int j=0; j<nvec; ++j) {
 
  795           if(ptr == (*pvec)[j]) {
 
  820         loss_list.push_back(p);
 
  821         build_flags.push_back(val);
 
  826   G4int n_dedx = t_list.size();
 
  827   if (0 == n_dedx || !em) {
 
  828     G4cout << 
"G4LossTableManager WARNING: no DEDX processes for "  
  835     G4cout << 
"G4LossTableManager::BuildTables() start to build range tables" 
  836            << 
" and the sum of " << n_dedx << 
" processes" 
  839            << 
" nSubRegions= " << nSubRegions;
 
  888   std::vector<G4PhysicsTable*> listSub;
 
  889   std::vector<G4PhysicsTable*> listCSDA;
 
  891   for (i=0; i<n_dedx; ++i) {
 
  897     if (0 < nSubRegions) {
 
  900       listSub.push_back(dedx);
 
  909       listCSDA.push_back(dedx); 
 
  913   if (0 < nSubRegions) {
 
  915     if (1 < listSub.size()) {
 
  938     G4cout << 
"G4LossTableManager::BuildTables: Tables are built for " 
  960   ed << 
"Energy loss process not found for " << aParticle->
GetParticleName() 
 
  962   G4Exception(
"G4LossTableManager::ParticleHaveNoLoss", 
"em0001",
 
  999   for (
size_t k=0; k<emp; ++k) {
 
 1081   if(0.0 < v1 && 0.0 < v2 && v2 < 1.e+50) { 
 
 1088   } 
else if(v1 <= 0.0) {
 
 1121 const std::vector<G4VEnergyLossProcess*>& 
 
 1136 const std::vector<G4VMultipleScattering*>& 
 
 1246     std::map<PD,G4VEnergyLossProcess*,std::less<PD> >::const_iterator 
pos;
 
 1354   G4String ss = 
"G4LossTableManager::" + tit; 
 
G4double GetKineticEnergy(G4double &range, const G4MaterialCutsCouple *)
 
G4VSubCutProducer * SubCutProducer()
 
G4EmConfigurator * EmConfigurator()
 
G4int NumberOfBinsPerDecade() const 
 
void SetRandomStep(G4bool val)
 
void BuildRangeTable(const G4PhysicsTable *dedxTable, G4PhysicsTable *rangeTable, G4bool isIonisation=false)
 
void SetDEDXTable(G4PhysicsTable *p, G4EmTableType tType)
 
void SetIntegral(G4bool val)
 
G4int WorkerVerbose() const 
 
G4double MaxKinEnergy() const 
 
static G4LossTableManager * Instance()
 
void InitialiseAtomicDeexcitation()
 
G4VAtomDeexcitation * atomDeexcitation
 
std::ostringstream G4ExceptionDescription
 
void SetVerbose(G4int verb)
 
G4double GetDEDX(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
void SetIonisation(G4bool val)
 
G4VSubCutProducer * subcutProducer
 
G4double maxRangeVariation
 
G4double GetDEDX(G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
std::vector< G4VEmModel * > mod_vector
 
G4PhysicsTable * SubLambdaTable() const 
 
G4double GetDEDXDispersion(const G4MaterialCutsCouple *couple, const G4DynamicParticle *dp, G4double &length)
 
G4ElectronIonPair * emElectronIonPair
 
void DeRegister(G4VEnergyLossProcess *p)
 
G4PhysicsTable * RangeTableForLoss() const 
 
void SetLambdaBinning(G4int val)
 
G4EmSaturation * emSaturation
 
G4double GetSubDEDX(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
G4bool BuildCSDARange() const 
 
void push_back(G4PhysicsVector *)
 
static G4ThreadLocal G4LossTableManager * instance
 
G4double GetRangeForLoss(G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
void AddCollaborativeProcess(G4VEnergyLossProcess *)
 
void SetStepFunction(G4double v1, G4double v2)
 
G4PhysicsTable * CSDARangeTable() const 
 
const G4String & GetName() const 
 
G4double GetCSDARange(G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
void SetNumberOfBins(G4int val)
 
G4EnergyLossMessenger * GetMessenger()
 
void CopyTables(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *)
 
void SetMaxEnergyForCSDARange(G4double val)
 
std::vector< G4PhysicsTable * > range_vector
 
G4PhysicsTable * IonisationTableForSubsec() const 
 
G4double GetDEDXForSubsec(G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
G4PhysicsTable * IonisationTable() const 
 
G4ProcessManager * GetProcessManager() const 
 
const std::vector< G4VEmProcess * > & GetEmProcessVector()
 
G4PhysicsTable * BuildLambdaTable(G4EmTableType tType=fRestricted)
 
void SetMaxEnergy(G4double val)
 
static G4PhysicsTable * PreparePhysicsTable(G4PhysicsTable *physTable)
 
const G4String & GetParticleName() const 
 
G4bool DeexcitationIgnoreCut() const 
 
G4double GetCSDARange(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
G4LossTableBuilder * GetTableBuilder()
 
std::map< PD, G4VEnergyLossProcess *, std::less< PD > > loss_map
 
G4EmConfigurator * emConfigurator
 
void SetVerboseLevel(G4int)
 
void SetBuildCSDARange(G4bool val)
 
void SetInitialisationFlag(G4bool flag)
 
G4VEnergyLossProcess * BuildTables(const G4ParticleDefinition *aParticle)
 
G4bool BuildCSDARange() const 
 
G4PhysicsTable * LambdaTable() const 
 
void ParticleHaveNoLoss(const G4ParticleDefinition *aParticle)
 
void SetInverseRangeTable(G4PhysicsTable *p)
 
const G4ParticleDefinition * SecondaryParticle() const 
 
void SetSubCutProducer(G4VSubCutProducer *)
 
void SetParameters(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *)
 
G4GLOB_DLL std::ostream G4cout
 
G4PhysicsTable * DEDXTable() const 
 
G4double MinKinEnergy() const 
 
std::vector< G4VEmFluctuationModel * > fmod_vector
 
G4EmCorrections * EmCorrections()
 
G4VEnergyLossProcess * currentLoss
 
G4ElectronIonPair * ElectronIonPair()
 
G4EmSaturation * EmSaturation()
 
void SetMaxEnergyForCSDARange(G4double val)
 
G4bool startInitialisation
 
G4int NumberOfSubCutoffRegions() const 
 
const G4String & GetParticleType() const 
 
void Register(G4VEnergyLossProcess *p)
 
const G4ParticleDefinition * BaseParticle() const 
 
G4double MinKinEnergy() const 
 
const G4ParticleDefinition * GetParticleDefinition() const 
 
void SetDEDXBinningForCSDARange(G4int val)
 
void BuildInverseRangeTable(const G4PhysicsTable *rangeTable, G4PhysicsTable *invRangeTable, G4bool isIonisation=false)
 
G4PhysicsTable * DEDXTableForSubsec() const 
 
G4double GetEnergy(const G4ParticleDefinition *aParticle, G4double range, const G4MaterialCutsCouple *couple)
 
const G4String & GetProcessName() const 
 
const std::vector< G4VEnergyLossProcess * > & GetEnergyLossProcessVector()
 
void SetSubCutoff(G4bool val, const G4Region *r=0)
 
G4double GetRangeFromRestricteDEDX(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
void RegisterExtraParticle(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
std::vector< G4PhysicsTable * > inv_range_vector
 
void BuildDEDXTable(G4PhysicsTable *dedxTable, const std::vector< G4PhysicsTable * > &)
 
void SetVerbose(G4int value)
 
void SetMinSubRange(G4double val)
 
void SetIgnoreCuts(G4bool)
 
G4EmParameters * theParameters
 
G4EmCorrections * emCorrections
 
void SetMinEnergy(G4double val)
 
G4VEnergyLossProcess * GetEnergyLossProcess(const G4ParticleDefinition *)
 
void SetLambdaTable(G4PhysicsTable *p)
 
G4bool all_tables_are_built
 
void SetMaxEnergy(G4double val)
 
const G4String & GetName() const 
 
void SetStepFunction(G4double v1, G4double v2)
 
G4PhysicsTable * InverseRangeTable() const 
 
void DumpG4BirksCoefficients()
 
void BuildPhysicsTable(const G4ParticleDefinition *aParticle)
 
G4LossTableBuilder * tableBuilder
 
const G4ParticleDefinition * Particle() const 
 
void SetLinearLossLimit(G4double val)
 
G4int GetNumberOfBinsPerDecade() const 
 
void SetMinEnergy(G4double val)
 
std::vector< G4PhysicsTable * > dedx_vector
 
void PrepareModels(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
 
static G4EmParameters * Instance()
 
std::vector< G4VEnergyLossProcess * > loss_vector
 
void PreparePhysicsTable(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p, G4bool theMaster)
 
void SetCSDARangeTable(G4PhysicsTable *pRange)
 
G4double GetDEDXDispersion(const G4MaterialCutsCouple *couple, const G4DynamicParticle *dp, G4double length)
 
void PrintEWarning(G4String, G4double)
 
void SetVerbose(G4int val)
 
void LocalPhysicsTables(const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
 
void SetDEDXBinning(G4int val)
 
void SetMaxEnergyForMuons(G4double val)
 
static G4Electron * Electron()
 
std::vector< PD > part_vector
 
void SetIntegral(G4bool val)
 
void SetLossFluctuations(G4bool val)
 
const G4String & GetName() const 
 
std::vector< G4bool > isActive
 
void SetSecondaryRangeTable(G4PhysicsTable *p)
 
G4VAtomDeexcitation * AtomDeexcitation()
 
std::vector< G4VEmProcess * > emp_vector
 
G4PhysicsTable * DEDXunRestrictedTable() const 
 
void SetSubLambdaTable(G4PhysicsTable *p)
 
std::vector< PD > base_part_vector
 
void ActivateSubCutoff(G4bool val, const G4Region *region=0)
 
void SetRangeTableForLoss(G4PhysicsTable *p)
 
G4double MaxKinEnergy() const 
 
G4double GetRange(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
std::vector< G4VMultipleScattering * > msc_vector
 
void SetAtomDeexcitation(G4VAtomDeexcitation *)
 
G4EnergyLossMessenger * theMessenger
 
static const G4double pos
 
G4PhysicsTable * BuildDEDXTable(G4EmTableType tType=fRestricted)
 
const std::vector< G4VMultipleScattering * > & GetMultipleScatteringVector()
 
G4ProcessVector * GetProcessList() const 
 
G4bool stepFunctionActive
 
G4double GetRange(G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
std::vector< G4bool > tables_are_built
 
void SetSplineFlag(G4bool flag)
 
G4bool IsIonisationProcess() const