CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/Alignment/CocoaModel/interface/ALIPlane.h

Go to the documentation of this file.
00001 //  COCOA class header file
00002 //Id:  ALIPlane.h
00003 //CAT: Fit
00004 //
00005 //   Base class for planes, defined by a point and the plane normal direction
00006 // 
00007 //   History: v1.0 
00008 //   Pedro Arce
00009 
00010 #ifndef _ALIPlane_HH
00011 #define _ALIPlane_HH
00012 #include <CLHEP/Vector/ThreeVector.h>
00013 #include "Alignment/CocoaModel/interface/ALILine.h"
00014 
00015 class ALIPlane {
00016 
00017 public:
00018   ALIPlane( const CLHEP::Hep3Vector& point, const CLHEP::Hep3Vector& normal );
00019   // Project a std::vector onto this plane
00020   CLHEP::Hep3Vector project( const CLHEP::Hep3Vector& vec );
00021   ALILine lineProject( const CLHEP::Hep3Vector& vec );
00022   //  CLHEP::Hep3Vector ALIPlane::intersect( const ALIPlane& l2);
00023   const CLHEP::Hep3Vector& point() const {return _point;};
00024   const CLHEP::Hep3Vector& normal() const {return _normal;};
00025 
00026 private:
00027   CLHEP::Hep3Vector _point;
00028   CLHEP::Hep3Vector _normal;
00029 
00030 };
00031 
00032 #endif