#include <VolumeTreeNavigator.h>
|
| void | initMessaging () const |
| | Initialize our message level and MessageSvc.
|
|
| G4Track * | m_track |
| | current track
|
| G4StepPoint * | m_preStepPoint |
| | volume/process/etc.
|
| G4StepPoint * | m_postStepPoint |
| | volume/process/etc.
|
| const G4TouchableHistory * | m_preHistory |
| | touchable history containing current volume's history
|
| int | m_preDepth |
| int | m_stepNo |
| | depth of volume tree, step number
|
| VolTree | m_history |
| | full volume history, cast as const after preparation
|
| VolNav | m_h_end |
| | specifies cut termination in history
|
| VolNav | m_h_nav |
| | VolTree iterator with no access below cut.
|
| 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 39 of file VolumeTreeNavigator.h.
◆ VolumeTreeNavigator()
| VolumeTreeNavigator::VolumeTreeNavigator |
( |
const G4Step * | aStep | ) |
|
Definition at line 35 of file VolumeTreeNavigator.cxx.
35 :
38
39{
40
47
49
50
53 int thPVRep = (
int)(thPV->GetCopyNo());
54 pair<G4VPhysicalVolume*, int> thPVID = make_pair(thPV, thPVRep);
56 }
58
59
60
63}
AthMessaging()
Default constructor:
int m_stepNo
depth of volume tree, step number
VolNav m_h_end
specifies cut termination in history
VolTree m_history
full volume history, cast as const after preparation
G4Track * m_track
current track
const G4TouchableHistory * m_preHistory
touchable history containing current volume's history
G4StepPoint * m_preStepPoint
volume/process/etc.
G4StepPoint * m_postStepPoint
volume/process/etc.
VolNav m_h_nav
VolTree iterator with no access below cut.
◆ Ascend()
| bool VolumeTreeNavigator::Ascend |
( |
int | levels = 1 | ) |
|
Definition at line 133 of file VolumeTreeNavigator.cxx.
133 {
134
136 {
140 advance(
m_h_nav, -abs(levels));
141 return 1;
142 }
143 else return 0;
144}
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
◆ Descend()
| bool VolumeTreeNavigator::Descend |
( |
int | levels = 1 | ) |
|
◆ Extract()
| VolTree VolumeTreeNavigator::Extract |
( |
| ) |
|
Definition at line 122 of file VolumeTreeNavigator.cxx.
123{
124
127 ret.push_back(*t);
128 }
130 return ret;
131}
std::vector< VolID > VolTree
◆ GetCopyNumber()
| int VolumeTreeNavigator::GetCopyNumber |
( |
int | rel = 0 | ) |
const |
◆ GetCurrentDepth()
| int VolumeTreeNavigator::GetCurrentDepth |
( |
| ) |
|
◆ GetFullDepth()
| int VolumeTreeNavigator::GetFullDepth |
( |
| ) |
const |
◆ GetHistory()
| const VolTree & VolumeTreeNavigator::GetHistory |
( |
| ) |
const |
◆ GetPostStepPoint()
| const G4StepPoint * VolumeTreeNavigator::GetPostStepPoint |
( |
| ) |
const |
◆ GetPreStepPoint()
| const G4StepPoint * VolumeTreeNavigator::GetPreStepPoint |
( |
| ) |
const |
◆ GetStepNumber()
| int VolumeTreeNavigator::GetStepNumber |
( |
| ) |
const |
◆ GetTrack()
| const G4Track * VolumeTreeNavigator::GetTrack |
( |
| ) |
const |
◆ GetVolume()
| G4VPhysicalVolume * VolumeTreeNavigator::GetVolume |
( |
int | rel = 0 | ) |
const |
◆ 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)
◆ KillProcesses()
| bool VolumeTreeNavigator::KillProcesses |
( |
const int | numProc, |
|
|
const char * | pr1, |
|
|
| ... ) |
Definition at line 160 of file VolumeTreeNavigator.cxx.
161{
162
163
165 va_list procs;
166
167 if ( pds ) {
168 std::string name_string =
stringify( pds->GetProcessName() );
169 const char*
name = name_string.c_str();
170 va_start(procs, pr1);
172 if ( name == va_arg(procs, const char*) ) {
174 va_end(procs);
175 return 1;
176 }
177 }
178 va_end(procs);
179 }
180 return 0;
181}
std::string stringify(T obj)
◆ 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}
◆ SetDepthCutDetail()
| void VolumeTreeNavigator::SetDepthCutDetail |
( |
const char * | cpath | ) |
|
Definition at line 88 of file VolumeTreeNavigator.cxx.
89{
90 static const vector<string> volumes = [&]() {
92 msg() << MSG::INFO <<
"SetDepthCutDetail path parsed as ";
94 string::size_type slash = 0;
95 string::size_type
start =
path.find_first_not_of(
'/' );
96 while ( slash != string::npos ) {
98 slash =
path.find_first_of(
'/', start );
99 v.push_back(
path.substr(start, slash-start) );
100 msg() << MSG::INFO <<
"/"<<volumes.back();
101 }
104 }();
105
107 vector<string>::const_iterator v_nav = volumes.begin();
112 ++v_nav; }
113 else {
114 break; }
115 }
119 return;
120}
path
python interpreter configuration --------------------------------------—
◆ SetDepthCutSimple()
| void VolumeTreeNavigator::SetDepthCutSimple |
( |
const int | CALO, |
|
|
const int | BeamPipe, |
|
|
const int | IDET, |
|
|
const int | MUONQ02 ) |
Definition at line 65 of file VolumeTreeNavigator.cxx.
66{
70 if (name ==
"CALO::CALO")
cut =
CALO+1;
71 else if (name ==
"BeamPipe::BeamPipe")
cut =
BeamPipe+1;
72 else if (name ==
"IDET::IDET" || name ==
"ITK::ITK")
cut =
IDET+1;
73 else if (name ==
"MUONQ02::MUONQ02")
cut = MUONQ02+1;
74 else {
ATH_MSG_INFO(
"Level 1 volume not found, output default depth"); }
75 }
78 }
79
85 return;
86}
cut
This script demonstrates how to call a C++ class from Python Also how to use PyROOT is shown.
const unsigned int CALO
all cuts in calorimeter (including isolation)
◆ 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_h_end
| VolNav VolumeTreeNavigator::m_h_end |
|
private |
◆ m_h_nav
| VolNav VolumeTreeNavigator::m_h_nav |
|
private |
◆ m_history
| VolTree VolumeTreeNavigator::m_history |
|
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 |
◆ m_postStepPoint
| G4StepPoint* VolumeTreeNavigator::m_postStepPoint |
|
private |
◆ m_preDepth
| int VolumeTreeNavigator::m_preDepth |
|
private |
◆ m_preHistory
| const G4TouchableHistory* VolumeTreeNavigator::m_preHistory |
|
private |
◆ m_preStepPoint
| G4StepPoint* VolumeTreeNavigator::m_preStepPoint |
|
private |
◆ m_stepNo
| int VolumeTreeNavigator::m_stepNo |
|
private |
◆ m_track
| G4Track* VolumeTreeNavigator::m_track |
|
private |
The documentation for this class was generated from the following files: