Go to the documentation of this file.00001 #include "MagneticField/VolumeGeometry/interface/MagVolume6Faces.h"
00002
00003 MagVolume6Faces::MagVolume6Faces( const PositionType& pos,
00004 const RotationType& rot,
00005 DDSolidShape shape,
00006 const std::vector<VolumeSide>& faces,
00007 const MagneticFieldProvider<float> * mfp,
00008 double sf)
00009 : MagVolume(pos,rot,shape,mfp,sf), copyno(0), theFaces(faces)
00010 {}
00011
00012 bool MagVolume6Faces::inside( const GlobalPoint& gp, double tolerance) const
00013 {
00014
00015
00016 for (std::vector<VolumeSide>::const_iterator i=theFaces.begin(); i!=theFaces.end(); ++i) {
00017 Surface::Side side = i->surface().side( gp, tolerance);
00018 if ( side != i->surfaceSide() && side != SurfaceOrientation::onSurface) return false;
00019 }
00020 return true;
00021 }