#include <ExtraParticlesPhysicsTool.h>
|
| | PhysicsConstructor (const std::string &name, MSG::Level level, const std::map< std::string, std::vector< double > > &extraParticlesConfig) |
| virtual void | ConstructParticle () override |
| virtual void | ConstructProcess () 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::map< std::string, std::vector< double > > | m_extraParticlesConfig |
| | a set of parameters for extra particle building
|
| std::set< G4ParticleDefinition * > | m_extraParticles |
| | a set to hold the newly created extra particles
|
| 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)
|
Definition at line 36 of file ExtraParticlesPhysicsTool.h.
◆ PhysicsConstructor()
| ExtraParticlesPhysicsTool::PhysicsConstructor::PhysicsConstructor |
( |
const std::string & | name, |
|
|
MSG::Level | level, |
|
|
const std::map< std::string, std::vector< double > > & | extraParticlesConfig ) |
|
inline |
Definition at line 38 of file ExtraParticlesPhysicsTool.h.
std::map< std::string, std::vector< double > > m_extraParticlesConfig
a set of parameters for extra particle building
IPhysicsContructor(const std::string &name, MSG::Level level)
Standard constructor.
◆ ConstructParticle()
| void ExtraParticlesPhysicsTool::PhysicsConstructor::ConstructParticle |
( |
| ) |
|
|
overridevirtual |
Definition at line 68 of file ExtraParticlesPhysicsTool.cxx.
68 {
69 ATH_MSG_DEBUG(
"ExtraParticlesPhysicsTool::ConstructParticle - start");
71 "ExtraParticlesPhysicsTool::ConstructParticle - m_extraParticlesConfig = "
73
74
75 G4ParticleTable *theParticleTable = G4ParticleTable::GetParticleTable();
76
78
84 G4double lifetime =
particle.second[4];
86
87
88 if (theParticleTable->FindParticle(pdg)) {
90 << theParticleTable->FindParticle(pdg)->GetParticleName()
91 << " (" << pdg
92 << ") as it is already in the ParticleTable.");
93 continue;
94 }
95
96
98 << mass <<
" " <<
width <<
" " << lifetime);
99
100
102 new CustomParticle(name, mass,
width,
charge, pdg, stable, lifetime));
103 }
104 ATH_MSG_DEBUG(
"ExtraParticlesPhysicsTool::ConstructParticle - end");
105}
double charge(const T &p)
std::set< G4ParticleDefinition * > m_extraParticles
a set to hold the newly created extra particles
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
◆ ConstructProcess()
| void ExtraParticlesPhysicsTool::PhysicsConstructor::ConstructProcess |
( |
| ) |
|
|
overridevirtual |
Definition at line 110 of file ExtraParticlesPhysicsTool.cxx.
110 {
111 ATH_MSG_DEBUG(
"ExtraParticlesPhysicsTool::ConstructProcess - start");
113 std::vector<std::string> extraParticleNames;
115 extraParticleNames.push_back(extraParticle->GetParticleName());
116 }
117 ATH_MSG_DEBUG(
"ExtraParticlesPhysicsTool::ConstructProcess - m_extraParticleNames = " << extraParticleNames);
118 }
120 if (
particle->GetPDGCharge() != 0) {
124 proc->AddProcess(
new G4hMultipleScattering, -1, 1, 1);
125 proc->AddProcess(
new G4hIonisation, -1, 2, 2);
126 }
127 }
128 ATH_MSG_DEBUG(
"ExtraParticlesPhysicsTool::ConstructProcess - end");
129}
bool msgLvl(const MSG::Level lvl) const
Test the output level.
◆ 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 |
◆ ATLAS_THREAD_SAFE
| std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_extraParticles
| std::set<G4ParticleDefinition *> ExtraParticlesPhysicsTool::PhysicsConstructor::m_extraParticles |
|
private |
◆ m_extraParticlesConfig
| std::map<std::string, std::vector<double> > ExtraParticlesPhysicsTool::PhysicsConstructor::m_extraParticlesConfig |
|
private |
◆ 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: