CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/DetectorDescription/Parser/src/DDDividedPolycone.h

Go to the documentation of this file.
00001 #ifndef DD_DividedPolycone_H
00002 #define DD_DividedPolycone_H
00003 //
00004 // ********************************************************************
00005 // 25.04.04 - M. Case ddd-ize G4ParameterisationPolycone*
00006 //---------------------------------------------------------------------
00007 
00008 #include "DDDividedGeometryObject.h"
00009 #include "DetectorDescription/Base/interface/DDTranslation.h"
00010 
00011 class DDLogicalPart;
00012 class DDRotation;
00013 
00014 //---------------------------------------------------------------------
00015 // Class DDDividedPolycone
00016 //---------------------------------------------------------------------
00017 
00018 class DDDividedPolyconeRho : public DDDividedGeometryObject
00019 { 
00020  public:  // with description
00021   
00022   DDDividedPolyconeRho( const DDDivision& div, DDCompactView* cpv );
00023   
00024   virtual ~DDDividedPolyconeRho();
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 class DDDividedPolyconePhi : public DDDividedGeometryObject
00038 { 
00039  public:  // with description
00040   
00041   DDDividedPolyconePhi( const DDDivision& div, DDCompactView* cpv );
00042   
00043   virtual ~DDDividedPolyconePhi();
00044   
00045   virtual void checkParametersValidity();
00046   
00047   virtual double getMaxParameter() const;
00048   
00049   virtual DDTranslation makeDDTranslation( const int copyNo) const;
00050 
00051   virtual DDRotation makeDDRotation(const int copyNo) const;
00052 
00053   virtual DDLogicalPart makeDDLogicalPart( const int copyNo) const;
00054 };
00055 
00056 class DDDividedPolyconeZ : public DDDividedGeometryObject
00057 { 
00058  public:  // with description
00059   
00060   DDDividedPolyconeZ( const DDDivision& div, DDCompactView* cpv );
00061   
00062   virtual ~DDDividedPolyconeZ();
00063   
00064   virtual void checkParametersValidity();
00065   
00066   virtual double getMaxParameter() const;
00067   
00068   virtual DDTranslation makeDDTranslation( const int copyNo) const;
00069 
00070   virtual DDRotation makeDDRotation(const int copyNo) const;
00071 
00072   virtual DDLogicalPart makeDDLogicalPart( const int copyNo) const;
00073 };
00074 
00075 #endif