Kills Monopoles and QBalls with energy < 1 MeV.
More...
#include <HIPKiller.h>
|
| | HIPKiller () |
| virtual void | UserSteppingAction (const G4Step *) override |
| bool | msgLvl (const MSG::Level lvl) const |
| | Test the output level.
|
| MsgStream & | msg () const |
| | The standard message stream.
|
| MsgStream & | msg (const MSG::Level lvl) const |
| | The standard message stream.
|
| void | setLevel (MSG::Level lvl) |
| | Change the current logging level.
|
|
| void | initMessaging () const |
| | Initialize our message level and MessageSvc.
|
|
| std::string | m_nm |
| | Message source name.
|
| boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| | MsgStream instance (a std::cout like with print-out levels)
|
| std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| | MessageSvc pointer.
|
| std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| | Current logging level.
|
| std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| | Messaging initialized (initMessaging)
|
Kills Monopoles and QBalls with energy < 1 MeV.
Definition at line 15 of file HIPKiller.h.
◆ HIPKiller()
| G4UA::HIPKiller::HIPKiller |
( |
| ) |
|
Definition at line 24 of file HIPKiller.cxx.
25 :
AthMessaging(Gaudi::svcLocator()->service<IMessageSvc>(
"MessageSvc"),
26 "HIPKiller")
27 {}
AthMessaging()
Default constructor:
◆ initMessaging()
| void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
40{
42
43 if (
m_lvl == MSG::NIL) {
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.
IMessageSvc * getMessageSvc(bool quiet=false)
◆ msg() [1/2]
| MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 163 of file AthMessaging.h.
164{
166 if (!ms) {
170 }
171
174}
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
void initMessaging() const
Initialize our message level and MessageSvc.
◆ msg() [2/2]
| MsgStream & AthMessaging::msg |
( |
const MSG::Level | lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 178 of file AthMessaging.h.
179{
return msg() << lvl; }
MsgStream & msg() const
The standard message stream.
◆ msgLvl()
| bool AthMessaging::msgLvl |
( |
const MSG::Level | lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
| lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
| true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
152{
155 return true;
156 } else {
157 return false;
158 }
159}
◆ setLevel()
| void AthMessaging::setLevel |
( |
MSG::Level | lvl | ) |
|
|
inherited |
◆ UserSteppingAction()
| void G4UA::HIPKiller::UserSteppingAction |
( |
const G4Step * | aStep | ) |
|
|
overridevirtual |
Definition at line 30 of file HIPKiller.cxx.
31 {
32 int PDGcode = aStep->GetTrack()->GetDefinition()->GetPDGEncoding();
33
34
35 if (
MC::isMonopole(PDGcode) || ((
int)(abs(PDGcode)/10000000) == 1) )
36 {
37
38
39
40
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");
45 }
46 }
47 }
#define ATH_MSG_WARNING(x)
bool isMonopole(const T &p)
PDG rule 11i Magnetic monopoles and dyons are assumed to have one unit of Dirac monopole charge and a...
◆ ATLAS_THREAD_SAFE
| std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_imsg
| std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_lvl
| std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_msg_tls
| boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_nm
| std::string AthMessaging::m_nm |
|
privateinherited |
The documentation for this class was generated from the following files: