00001 #ifndef PlanarVolumeBoundary_H 00002 #define PlanarVolumeBoundary_H 00003 00004 #include "MagneticField/MagVolumeGeometry/interface/BoundaryPlane.h" 00005 00006 class PlanarVolumeBoundary : public VolumeBoundary { 00007 public: 00008 00009 typedef ConstReferenceCountingPointer<BoundaryPlane> PlanePointerType; 00010 00011 PlanarVolumeBoundary( const BoundVolume* vol, PlanePointerType plane, 00012 const Bounds* bounds); 00013 00014 virtual const BoundVolume* volume() const {return theVolume;} 00015 virtual SurfacePointerType surface() const {return SurfacePointerType(thePlane);} 00016 virtual const Bounds* bounds() const {return theBounds;} 00017 00018 PlanePointerType concreteSurface() const {return thePlane;} 00019 00020 private: 00021 00022 const BoundVolume* theVolume; 00023 const PlanePointerType thePlane; 00024 const Bounds* theBounds; 00025 00026 }; 00027 00028 #endif