35 #include "PrimaryGeneratorAction.hh" 
   36 #include "HistoManager.hh" 
   46   fParticle(0), fEkin(0.),
 
   47   fDecayCount(0), fTimeCount(0), fPrimaryTime(0.)
 
   75     ParticleData& data = it->second;
 
   80     if (Ekin < emin) data.fEmin = Ekin;
 
   82     if (Ekin > emax) data.fEmax = Ekin; 
 
  126   const Run* localRun = 
static_cast<const Run*
>(run);
 
  157   std::map<G4String,ParticleData>::const_iterator itn;
 
  162     const ParticleData& localData = itn->second;   
 
  165        = ParticleData(localData.fCount, 
 
  172       data.fCount += localData.fCount;
 
  173       data.fEmean += localData.fEmean;
 
  175       if (emin < data.fEmin) data.fEmin = emin;
 
  177       if (emax > data.fEmax) data.fEmax = emax; 
 
  191  G4cout << 
"\n ======================== run summary ======================";  
 
  192  G4cout << 
"\n The run was " << nbEvents << 
" " << partName << 
" of " 
  194  G4cout << 
"\n ===========================================================\n";
 
  196  if (nbEvents == 0) { 
return; }
 
  205  std::map<G4String,ParticleData>::iterator it;               
 
  208     ParticleData data = it->second;
 
  209     G4int count    = data.fCount;
 
  214     G4cout << 
"  " << std::setw(13) << name << 
": " << std::setw(7) << count
 
  215            << 
"  Emean = " << std::setw(wid) << 
G4BestUnit(eMean, 
"Energy")
 
  228     G4cout << 
"\n   Ekin Total (Q): mean = " 
  229            << std::setw(wid) << 
G4BestUnit(Ebmean, 
"Energy")
 
  234     G4cout << 
"\n   Momentum balance (excluding gamma desexcitation): mean = "  
  235            << std::setw(wid) << 
G4BestUnit(Pbmean, 
"Energy")
 
  245     G4double halfLife = Tmean*std::log(2.);
 
  247     G4cout << 
"\n   Total time of life : mean = " 
  248            << std::setw(wid) << 
G4BestUnit(Tmean, 
"Time")
 
  250            << std::setw(wid) << 
G4BestUnit(halfLife, 
"Time")
 
  260  G4double nAtoms_perUnitOfMass = Avogadro/molMass;
 
  261  G4double Activity_perUnitOfMass = 0.0;
 
  263    { Activity_perUnitOfMass = nAtoms_perUnitOfMass/pTimeMean; }
 
  265  G4cout << 
"\n   Activity of " << partName << 
" = " 
  266             << std::setw(wid)  << Activity_perUnitOfMass*
g/
becquerel 
  267             << 
" Bq/g   ("     << Activity_perUnitOfMass*
g/
curie 
  275  analysisManager->ScaleH1(1,factor);
 
  276  analysisManager->ScaleH1(2,factor);
 
  277  analysisManager->ScaleH1(3,factor);
 
  278  analysisManager->ScaleH1(4,factor);
 
  279  analysisManager->ScaleH1(5,factor);
 
std::map< G4String, ParticleData > fParticleDataMap
 
virtual void Merge(const G4Run *)
 
void PrimaryTiming(G4double)
 
void EventTiming(G4double)
 
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1 
 
const G4String & GetParticleName() const 
 
G4GLOB_DLL std::ostream G4cout
 
static const double becquerel
 
ExG4HbookAnalysisManager G4AnalysisManager
 
G4int GetAtomicMass() const 
 
static const double curie
 
static const G4double factor
 
T max(const T t1, const T t2)
brief Return the largest of the two arguments 
 
G4double energy(const ThreeVector &p, const G4double m)
 
T min(const T t1, const T t2)
brief Return the smallest of the two arguments 
 
G4ParticleDefinition * fParticle
 
void SetPrimary(G4ParticleDefinition *particle, G4double energy)
 
virtual void Merge(const G4Run *)
 
void ParticleCount(G4String, G4double)