GeoModel - GeoModelCore
GeoCutVolAction.h
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOMODELKERNEL_GEOCUTVOLACTION_H
6 #define GEOMODELKERNEL_GEOCUTVOLACTION_H
7 
48 #include "GeoModelKernel/GeoVolumeAction.h"
49 #include "GeoModelKernel/GeoShape.h"
50 #include "GeoModelKernel/GeoDefinitions.h"
51 #include <stack>
52 
53 class GeoPhysVol;
54 
56 {
57  public:
58  // Constructor parameters:
59  // Shape: the shape to be cut
60  // Transformation: Shape transformation with respect to the mother Physical Volume
61  GeoCutVolAction(const GeoShape& Shape,
62  const GeoTrf::Transform3D& Transform);
63 
64  ~GeoCutVolAction();
65 
66  virtual void handleVPhysVol (const GeoVPhysVol *);
67 
68  // Get the cutoff result
69  GeoPhysVol* getPV();
70 
71  private:
72  GeoPhysVol* m_physVol;
73 
74  const GeoShape& m_shape;
75  GeoTrf::Transform3D m_transform;
76 
77  std::stack<GeoPhysVol*>* m_copyStack;
78 };
79 
80 #endif
This type of action sees and traverses a simpler tree of positioned volumes. It does not descend into...
Geo Volume action providing a mechanism for Cutoff implementation.
A GeoPhysVol is a physical volume for normal recursive access only. This means, normally, that it represents a piece of detector that nobody cares about except for tracing engines like GEANT. More specifically:
Definition: GeoPhysVol.h:31
This class describes a Shape. Shapes will be able to do the following things:
Definition: GeoShape.h:38