00001 #ifndef DDDividedPolyhedra_H 00002 #define DDDividedPolyhedra_H 00003 // 00004 // ******************************************************************** 00005 // 25.04.04 - M. Case ddd-ize G4ParameterisationPolyhedra* 00006 //--------------------------------------------------------------------- 00007 00008 #include "DDDividedGeometryObject.h" 00009 #include "DetectorDescription/Base/interface/DDTranslation.h" 00010 00011 class DDLogicalPart; 00012 class DDRotation; 00013 00014 //--------------------------------------------------------------------- 00015 // Class DDDividedPolyhedraRho 00016 //--------------------------------------------------------------------- 00017 00018 class DDDividedPolyhedraRho : public DDDividedGeometryObject 00019 { 00020 public: 00021 00022 DDDividedPolyhedraRho( const DDDivision& div, DDCompactView* cpv ); 00023 00024 virtual ~DDDividedPolyhedraRho(); 00025 00026 virtual void checkParametersValidity(); 00027 00028 virtual double getMaxParameter() const; 00029 00030 virtual DDTranslation makeDDTranslation( const int copyNo) const; 00031 00032 virtual DDRotation makeDDRotation(const int copyNo) const; 00033 00034 virtual DDLogicalPart makeDDLogicalPart( const int copyNo) const; 00035 }; 00036 00037 //--------------------------------------------------------------------- 00038 // Class DDDividedPolyhedraPhi 00039 //--------------------------------------------------------------------- 00040 00041 class DDDividedPolyhedraPhi : public DDDividedGeometryObject 00042 { 00043 public: 00044 00045 DDDividedPolyhedraPhi( const DDDivision& div, DDCompactView* cpv ); 00046 00047 virtual ~DDDividedPolyhedraPhi(); 00048 00049 virtual void checkParametersValidity(); 00050 00051 virtual double getMaxParameter() const; 00052 00053 virtual DDTranslation makeDDTranslation( const int copyNo) const; 00054 00055 virtual DDRotation makeDDRotation(const int copyNo) const; 00056 00057 virtual DDLogicalPart makeDDLogicalPart( const int copyNo) const; 00058 }; 00059 00060 //--------------------------------------------------------------------- 00061 // Class DDDividedPolyhedraZ 00062 //--------------------------------------------------------------------- 00063 00064 class DDDividedPolyhedraZ : public DDDividedGeometryObject 00065 { 00066 public: 00067 00068 DDDividedPolyhedraZ( const DDDivision& div, DDCompactView* cpv ); 00069 00070 virtual ~DDDividedPolyhedraZ(); 00071 00072 virtual void checkParametersValidity(); 00073 00074 virtual double getMaxParameter() const; 00075 00076 virtual DDTranslation makeDDTranslation( const int copyNo) const; 00077 00078 virtual DDRotation makeDDRotation(const int copyNo) const; 00079 00080 virtual DDLogicalPart makeDDLogicalPart( const int copyNo) const; 00081 00082 }; 00083 00084 #endif