#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
46 ATH_MSG_ERROR(
"Dynamic cast failed in VolumeTreeNavigator::VolumeTreeNavigator");
47 return;
48 }
51
53
54
57 int thPVRep = (
int)(thPV->GetCopyNo());
58 pair<G4VPhysicalVolume*, int> thPVID = make_pair(thPV, thPVRep);
60 }
62
63
64
67}
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 137 of file VolumeTreeNavigator.cxx.
137 {
138
140 {
144 advance(
m_h_nav, -abs(levels));
145 return 1;
146 }
147 else return 0;
148}
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 126 of file VolumeTreeNavigator.cxx.
127{
128
131 ret.push_back(*t);
132 }
134 return ret;
135}
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 164 of file VolumeTreeNavigator.cxx.
165{
166
167
169 va_list procs;
170
171 if ( pds ) {
172 std::string name_string =
stringify( pds->GetProcessName() );
173 const char*
name = name_string.c_str();
174 va_start(procs, pr1);
176 if ( name == va_arg(procs, const char*) ) {
178 va_end(procs);
179 return 1;
180 }
181 }
182 va_end(procs);
183 }
184 return 0;
185}
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 167 of file AthMessaging.h.
168{
170 if (!ms) {
174 }
175
178}
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 182 of file AthMessaging.h.
183{
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{
153
154
156
159 return true;
160 } else {
161 return false;
162 }
163}
◆ SetDepthCutDetail()
| void VolumeTreeNavigator::SetDepthCutDetail |
( |
const char * | cpath | ) |
|
Definition at line 92 of file VolumeTreeNavigator.cxx.
93{
94 static const vector<string> volumes = [&]() {
96 msg() << MSG::INFO <<
"SetDepthCutDetail path parsed as ";
98 string::size_type slash = 0;
99 string::size_type
start =
path.find_first_not_of(
'/' );
100 while ( slash != string::npos ) {
102 slash =
path.find_first_of(
'/', start );
103 v.push_back(
path.substr(start, slash-start) );
104 msg() << MSG::INFO <<
"/"<<volumes.back();
105 }
108 }();
109
111 vector<string>::const_iterator v_nav = volumes.begin();
116 ++v_nav; }
117 else {
118 break; }
119 }
123 return;
124}
path
python interpreter configuration --------------------------------------—
◆ SetDepthCutSimple()
| void VolumeTreeNavigator::SetDepthCutSimple |
( |
const int | CALO, |
|
|
const int | BeamPipe, |
|
|
const int | IDET, |
|
|
const int | MUONQ02 ) |
Definition at line 69 of file VolumeTreeNavigator.cxx.
70{
74 if (name ==
"CALO::CALO")
cut =
CALO+1;
75 else if (name ==
"BeamPipe::BeamPipe")
cut =
BeamPipe+1;
76 else if (name ==
"IDET::IDET" || name ==
"ITK::ITK")
cut =
IDET+1;
77 else if (name ==
"MUONQ02::MUONQ02")
cut = MUONQ02+1;
78 else {
ATH_MSG_INFO(
"Level 1 volume not found, output default depth"); }
79 }
82 }
83
89 return;
90}
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: