GeoModel - GeoModelCore
Main Page
Related Pages
Classes
Files
File List
GeoModelKernel
GeoModelKernel
GeoVolumeAction.h
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef GEOMODELKERNEL_GEOVOLUMEACTION_H
6
#define GEOMODELKERNEL_GEOVOLUMEACTION_H
7
19
#include "GeoModelKernel/GeoTraversalState.h"
20
21
class
GeoVolumeAction
22
{
23
public
:
24
enum
Type
25
{ TOP_DOWN, BOTTOM_UP };
26
27
public
:
28
GeoVolumeAction
(Type type = TOP_DOWN);
29
virtual
~
GeoVolumeAction
();
30
31
// Callback method. Overriden by users.
32
virtual
void
handleVPhysVol (
const
GeoVPhysVol
*);
33
34
// Cause the action to terminate.
35
void
terminate ();
36
37
// Determine whether the action should terminate.
38
bool
shouldTerminate ()
const
;
39
40
// Returns the traversal state. From this one can get
41
// placement information about the volume, even if it is a
42
// shared instance.
43
const
GeoTraversalState
* getState ()
const
;
44
45
// Returns the traversal state, as above. Non const type.
46
GeoTraversalState
* getState ();
47
48
// Returns the type: GeoVolumeAction::TOP_DOWN or GeoVolume
49
// Action::BOTTOM_UP.
50
GeoVolumeAction::Type getType ()
const
;
51
52
private
:
53
GeoVolumeAction
(
const
GeoVolumeAction
&right);
54
GeoVolumeAction
& operator=(
const
GeoVolumeAction
&right);
55
56
// This type specifies that the action should be carried
57
// out from the bottom up or from the top down.
58
Type m_type;
59
60
// Termination flag; causes an abortion of action execution.
61
bool
m_terminate;
62
63
GeoTraversalState
m_traversalState;
64
65
};
66
67
#endif
GeoVPhysVol
Definition:
GeoVPhysVol.h:28
GeoVolumeAction
This type of action sees and traverses a simpler tree of positioned volumes. It does not descend into...
Definition:
GeoVolumeAction.h:21
GeoTraversalState
This incorporates a traversal state, including the following information:
Definition:
GeoTraversalState.h:23
Generated on Thu May 28 2020 05:11:07 for GeoModel - GeoModelCore by
1.8.11