|
ATLAS Offline Software
|
Go to the documentation of this file.
26 inline std::string
vPrFmt (
double time,
double nEv,
double tRun,
int depth,
const std::string&
id)
29 if (
depth == -999) dprnt =
" ";
30 std::ostringstream oss;
31 oss << std::setw(12) << time << std::setw(12) << time/nEv << std::setw(12) << time/tRun
32 << std::setw(6) << dprnt <<
" " <<
id;
36 typedef std::map<VolTree, TestActionVPTimer::volumeData>
VolMap;
37 typedef VolMap::const_iterator
VolIt;
41 const std::string&
name,
53 std::unique_ptr<TestActionVPTimer>
87 <<
" Dead Time " << DeadTime );
92 ATH_MSG_INFO(setw(12) <<
"Time" << setw(12) <<
"per Event" << setw(12)
93 <<
"per Run" << setw(6) <<
"Depth" <<
" Location/Particle" );
97 ATH_MSG_INFO(
"\n******* Data by volume/select particles *******");
98 ATH_MSG_INFO(
"Data printed in reverse tree order (mother following daughter)");
105 ATH_MSG_INFO(
"\n******* Data by particle/category *******");
117 }
else {
ATH_MSG_WARNING(
"******* No Timing information recorded! *******"); }
119 return StatusCode::SUCCESS;
140 const double tTotal,
const int depth)
const
142 G4VPhysicalVolume*
pv = vp.first.back().first;
144 std::string copyNo =
stringify(vp.first.back().second);
145 std::string mother =
"";
146 if (vp.first.size() != 1) mother =
stringify( (vp.first.end()-2)->first->GetName() );
153 double tOther = vp.second.tTotal - vp.second.tElectron - vp.second.tPhoton - vp.second.tNeutron - vp.second.tPion;
std::map< VolTree, TestActionVPTimer::volumeData > VolMap
Struct for passing around user actions.
@ depth
pointing depth of the shower as calculated in egammaqgcld
std::string find(const std::string &s)
return a remapped string
double tPhoton
Time spent on photons in volume.
double tBaryon
Time spent on other baryons in volume.
int dMUON
Used for setting depths in jobOptions file.
double tElectron
Time spent on e objects in volume.
void accumulate(ResultType &result, Mapper mapOp, Reducer reduceOp)
Accumulate results across user actions with specified operations.
double tLepton
Time spent on other leptons in volume.
std::string vPrFmt(double time, double nEv, double tRun, int depth, const std::string &id)
std::string stringify(T obj)
int nev
number of processed events
::StatusCode StatusCode
StatusCode definition for legacy code.
double tMeson
Time spent on all mesons in volume.
double tNeutron
Time spent on neutrons in volume.
VolMap::const_iterator VolIt
std::vector< VolID > VolTree
std::vector< G4UserRunAction * > runActions
double tOther
Time spent on all other particles in volume (mostly nuclei)
#define ATH_MSG_WARNING(x)
double tPion
Time spent on pions in volume.
double tTotal
Overloaded += operator.
std::vector< G4UserEventAction * > eventActions
void merge(const Report &rep)
const Report & getReport() const
std::string dDetail
Path to set detailed depth in jobOptions file.
std::vector< G4UserSteppingAction * > steppingActions
double runTime
Double for storing this run time.