Project

General

Profile

SimpleCalo with selective TAU instrumentation

The top 20 routines obtained with the fast profiling tool, shown here in a select.tau file:

BEGIN_INCLUDE_LIST

"#G4KleinNishinaCompton::SampleSecondaries#" 
"#G4Physics2DVector::Value#" 
"#G4PhysicsVector::Value#" 
"#G4SauterGavrilaAngularDistribution::SampleDirection#" 
"#G4SeltzerBergerModel::SampleSecondaries#" 
"#G4UniversalFluctuation::SampleFluctuations#" 
"#G4UrbanMscModel::ComputeGeomPathLength#" 
"#G4UrbanMscModel::ComputeTruePathLengthLimit#" 
"#G4UrbanMscModel::SampleCosineTheta#" 
"#G4UrbanMscModel::SampleDisplacement#" 
"#G4UrbanMscModel::SampleScattering#" 
"#G4VDiscreteProcess::PostStepGetPhysicalInteractionLength#" 
"#G4VEmProcess::GetCurrentLambda#" 
"#G4VEmProcess::PostStepDoIt#" 
"#G4VEmProcess::PostStepGetPhysicalInteractionLength#" 
"#G4VEnergyLossProcess::AlongStepDoIt#" 
"#G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength#" 
"#G4VMultipleScattering::AlongStepDoIt#" 
"#G4VelocityTable::Value#" 

END_INCLUDE_LIST

The TAU measurements (% of total time) of these routines (sorted). SimplifiedCalo, e-, 50GeV, 500 events.

Summary: 
18.3 G4double G4PhysicsVector::Value(G4double, size_t &) const 
16.8 G4double G4VEmProcess::PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *) 
13.1 G4double G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *) 
12.5 G4double G4UrbanMscModel::ComputeTruePathLengthLimit(const G4Track &, G4double &)
 9.3 G4VParticleChange *G4VMultipleScattering::AlongStepDoIt(const G4Track &, const G4Step &) 
 7.8 G4VParticleChange *G4VEmProcess::PostStepDoIt(const G4Track &, const G4Step &) 
 6.6 G4VParticleChange *G4VEnergyLossProcess::AlongStepDoIt(const G4Track &, const G4Step &)
 6.2 G4ThreeVector &G4UrbanMscModel::SampleScattering(const G4ThreeVector &, G4double)
 4.8 G4double G4VelocityTable::Value(G4double) 
 4.6 G4double G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition…)
 4.1 G4double G4UrbanMscModel::ComputeGeomPathLength(G4double)
 2.3 G4SeltzerBergerModel::SampleSecondaries(...)
 2.2 G4double G4UrbanMscModel::SampleCosineTheta(G4double, G4double)
 1.2 void G4KleinNishinaCompton::SampleSecondaries(…)
 1.0 G4double G4Physics2DVector::Value(G4double, G4double, size_t &, size_t &) const
 1.0 G4double G4UniversalFluctuation::SampleFluctuations
 0.7 G4double G4UrbanMscModel::SampleDisplacement()
 0.5 G4ThreeVector &G4SauterGavrilaAngularDistribution::SampleDirection(…)

Missing:
G4VDiscreteProcess::PostStepGetPhysicalInteractionLength
G4VEmProcess::GetCurrentLambda 

L1 data misses (% total)

 15.3 G4double G4VEmProcess::PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *) 
 15.2 G4double G4PhysicsVector::Value(G4double, size_t &) const 
 11.2 G4double G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition *) 
  9.4  G4double G4UrbanMscModel::ComputeTruePathLengthLimit(const G4Track &, G4double &) 
  9.1  G4VParticleChange *G4VEmProcess::PostStepDoIt(const G4Track &, const G4Step &) 
  8.4  G4VParticleChange *G4VMultipleScattering::AlongStepDoIt(const G4Track &, const G4Step &) 
  6.1  G4double G4VelocityTable::Value(G4double) 
  5.0  G4ThreeVector &G4UrbanMscModel::SampleScattering(const G4ThreeVector &, G4double) 
  4.8  G4VParticleChange *G4VEnergyLossProcess::AlongStepDoIt(const G4Track &, const G4Step &) 
  2.9  G4double G4UrbanMscModel::ComputeGeomPathLength(G4double) 
  2.0  G4double G4UrbanMscModel::SampleCosineTheta(G4double, G4double) 
  1.9  void G4SeltzerBergerModel::SampleSecondaries(std::vector<G4DynamicParticle *, std::allocator<G4DynamicParticle *>> *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double) 
  1.9  void G4KleinNishinaCompton::SampleSecondaries(std::vector<G4DynamicParticle *, std::allocator<G4DynamicParticle *>> *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double) 
  1.0  G4double G4UniversalFluctuation::SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double) 
  0.8  G4double G4Physics2DVector::Value(G4double, G4double, size_t &, size_t &) const 
  0.7  G4double G4UrbanMscModel::SampleDisplacement() 
  0.6  G4ThreeVector &G4SauterGavrilaAngularDistribution::SampleDirection(const G4DynamicParticle *, G4double, G4int, const G4Material *)