| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

SolidSubtraction.h

Go to the documentation of this file.
00001 // $Id: SolidSubtraction.h,v 1.15 2007/03/16 15:57:09 cattanem Exp $
00003 #ifndef       DETDESC_SOLIDSUBTRACTION_H
00004 #define       DETDESC_SOLIDSUBTRACTION_H 1 
00005 
00007 #include <algorithm>
00008 #include <functional> 
00009 
00011 #include "DetDesc/SolidBoolean.h" 
00012 
00014 class StatusCode;
00015 template <class TYPE>
00016 class SolidFactory;
00017 
00026 class SolidSubtraction: public SolidBoolean
00027 {
00029   friend class SolidFactory<SolidSubtraction>;
00030   
00031 public:
00032   
00037   SolidSubtraction( const std::string& name , ISolid* first );
00038   
00040   virtual ~SolidSubtraction();
00041   
00042 public:
00043   
00049   virtual std::string typeName ( ) const { return "SolidSubtraction" ; };
00050   
00060   bool isInside ( const Gaudi::XYZPoint& point ) const ;
00061   bool isInside ( const Gaudi::Polar3DPoint& point ) const ;
00062   bool isInside ( const Gaudi::RhoZPhiPoint& point ) const ;
00063   
00069   StatusCode subtract 
00070   ( ISolid*               solid , 
00071     const Gaudi::Transform3D* mtrx  );
00072   
00079   StatusCode subtract 
00080   ( ISolid*               child                    , 
00081     const Gaudi::XYZPoint&     position                 , 
00082     const Gaudi::Rotation3D&    rotation = Gaudi::Rotation3D() );
00083   
00084 protected:
00085   
00089   SolidSubtraction( const std::string& Name = "Anonymous Subtraction");
00090 
00091 private:
00092 
00093   SolidSubtraction           ( const SolidSubtraction& ) ; 
00094   SolidSubtraction& operator=( const SolidSubtraction& ) ; 
00095 
00101   template <class aPoint>
00102   bool isInsideImpl(const aPoint& point) const;
00103 
00104 };
00105 
00107 #endif  
00108 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:00:13 2011 for DetDesc by doxygen 1.4.7