Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:55:06

0001 #ifndef DETECTOR_DESCRIPTION_PARSER_DD_DIVIDED_POLYHEDRA_H
0002 #define DETECTOR_DESCRIPTION_PARSER_DD_DIVIDED_POLYHEDRA_H
0003 
0004 #include "DDDividedGeometryObject.h"
0005 #include "DetectorDescription/Core/interface/DDTranslation.h"
0006 #include "DetectorDescription/Core/interface/DDDivision.h"
0007 
0008 class DDCompactView;
0009 class DDLogicalPart;
0010 class DDRotation;
0011 
0012 class DDDividedPolyhedraRho final : public DDDividedGeometryObject {
0013 public:
0014   DDDividedPolyhedraRho(const DDDivision& div, DDCompactView* cpv);
0015 
0016   void checkParametersValidity() override;
0017   double getMaxParameter() const override;
0018   DDTranslation makeDDTranslation(int copyNo) const override;
0019   DDRotation makeDDRotation(int copyNo) const override;
0020   DDLogicalPart makeDDLogicalPart(int copyNo) const override;
0021 };
0022 
0023 class DDDividedPolyhedraPhi final : public DDDividedGeometryObject {
0024 public:
0025   DDDividedPolyhedraPhi(const DDDivision& div, DDCompactView* cpv);
0026 
0027   void checkParametersValidity() override;
0028   double getMaxParameter() const override;
0029   DDTranslation makeDDTranslation(int copyNo) const override;
0030   DDRotation makeDDRotation(int copyNo) const override;
0031   DDLogicalPart makeDDLogicalPart(int copyNo) const override;
0032 };
0033 
0034 class DDDividedPolyhedraZ final : public DDDividedGeometryObject {
0035 public:
0036   DDDividedPolyhedraZ(const DDDivision& div, DDCompactView* cpv);
0037 
0038   void checkParametersValidity() override;
0039   double getMaxParameter() const override;
0040   DDTranslation makeDDTranslation(int copyNo) const override;
0041   DDRotation makeDDRotation(int copyNo) const override;
0042   DDLogicalPart makeDDLogicalPart(int copyNo) const override;
0043 };
0044 
0045 #endif