10#include "G4RunManagerKernel.hh"
11#include "G4EventManager.hh"
14#include "CLHEP/Units/PhysicalConstants.h"
16#include "GaudiKernel/Bootstrap.h"
17#include "GaudiKernel/ISvcLocator.h"
18#include "GaudiKernel/IMessageSvc.h"
32 int PDGcode = aStep->GetTrack()->GetDefinition()->GetPDGEncoding();
35 if (
MC::isMonopole(PDGcode) || ((
int)(abs(PDGcode)/10000000) == 1) )
41 if (aStep->GetTrack()->GetKineticEnergy() < 1.0) {
42 aStep->GetTrack()->SetTrackStatus( fStopAndKill );
43 ATH_MSG_WARNING(
"HIP " << PDGcode <<
" is being killed: kinetic energy=" <<
44 aStep->GetTrack()->GetKineticEnergy()/CLHEP::MeV <<
"MeV");
#define ATH_MSG_WARNING(x)
ATLAS-specific HepMC functions.
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
virtual void UserSteppingAction(const G4Step *) override
=============================================================================
bool isMonopole(const T &p)
PDG rule 11i Magnetic monopoles and dyons are assumed to have one unit of Dirac monopole charge and a...