00001 // COCOA class header file 00002 //Id: ALILine.h 00003 //CAT: Model 00004 // 00005 // Base class for entries 00006 // 00007 // History: v1.0 00008 // Pedro Arce 00009 00010 #ifndef _ALILINE_HH 00011 #define _ALILINE_HH 00012 #include <iostream> 00013 #include <CLHEP/Vector/ThreeVector.h> 00014 class ALIPlane; 00015 00016 class ALILine { 00017 00018 public: 00019 ALILine(){ }; 00020 ~ALILine(){ }; 00021 ALILine( const Hep3Vector& point, const Hep3Vector& direction ); 00022 // Next 1 line was added with 22 Mar 2001 00023 // Hep3Vector ALILine( const ALILine& l2, bool notParallel = 0); 00024 //0 00025 Hep3Vector intersect( const ALILine& l2, bool notParallel = 0); 00026 Hep3Vector intersect( const ALIPlane& plane, bool notParallel = 1); 00027 const Hep3Vector& pt() const {return _point;}; 00028 const Hep3Vector& vec() const {return _direction;}; 00029 00030 friend std::ostream& operator << (std::ostream&, const ALILine& li); 00031 00032 private: 00033 Hep3Vector _point; 00034 Hep3Vector _direction; 00035 00036 }; 00037 00038 #endif