CMS 3D CMS Logo

MagVolume6Faces Class Reference

A MagVolume defined by a number of sides (surfaces) NOTE that despite the name the sides can be less (or more) than 6!!!
. More...

#include <MagneticField/VolumeGeometry/interface/MagVolume6Faces.h>

Inheritance diagram for MagVolume6Faces:

MagVolume GloballyPositioned< float > MagneticField

List of all members.

Public Member Functions

virtual const std::vector
< VolumeSide > & 
faces () const
 Access to volume faces.
virtual bool inside (const GlobalPoint &gp, double tolerance=0.) const
 MagVolume6Faces (const PositionType &pos, const RotationType &rot, DDSolidShape shape, const std::vector< VolumeSide > &faces, const MagneticFieldProvider< float > *mfp, double sf=1.)

Public Attributes

char copyno
std::string name

Private Attributes

std::vector< VolumeSidetheFaces


Detailed Description

A MagVolume defined by a number of sides (surfaces) NOTE that despite the name the sides can be less (or more) than 6!!!
.

inside() is implemented by checking that the given point is on the correct side of each of the surfaces sides.

Date
2009/01/16 16:48:38
Revision
1.5
Author:
T. Todorov, N. Amapane

Definition at line 29 of file MagVolume6Faces.h.


Constructor & Destructor Documentation

MagVolume6Faces::MagVolume6Faces ( const PositionType pos,
const RotationType rot,
DDSolidShape  shape,
const std::vector< VolumeSide > &  faces,
const MagneticFieldProvider< float > *  mfp,
double  sf = 1. 
)

Definition at line 3 of file MagVolume6Faces.cc.

00009   : MagVolume(pos,rot,shape,mfp,sf),  copyno(0), theFaces(faces)
00010 {}


Member Function Documentation

virtual const std::vector<VolumeSide>& MagVolume6Faces::faces (  )  const [inline, virtual]

Access to volume faces.

Implements MagVolume.

Definition at line 41 of file MagVolume6Faces.h.

References theFaces.

00041 {return theFaces;}

bool MagVolume6Faces::inside ( const GlobalPoint gp,
double  tolerance = 0. 
) const [virtual]

Implements MagVolume.

Definition at line 12 of file MagVolume6Faces.cc.

References i, SurfaceOrientation::onSurface, and theFaces.

00013 {
00014 
00015   // check if the point is on the correct side of all delimiting surfaces
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 }


Member Data Documentation

char MagVolume6Faces::copyno

Definition at line 45 of file MagVolume6Faces.h.

std::string MagVolume6Faces::name

Definition at line 44 of file MagVolume6Faces.h.

Referenced by NavPropagator::navVolume().

std::vector<VolumeSide> MagVolume6Faces::theFaces [private]

Definition at line 50 of file MagVolume6Faces.h.

Referenced by faces(), and inside().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:27:58 2009 for CMSSW by  doxygen 1.5.4