File indexing completed on 2024-04-06 12:05:31
0001 #ifndef DETECTOR_DESCRIPTION_PARSER_DD_DIVIDED_POLYCONE_H
0002 #define DETECTOR_DESCRIPTION_PARSER_DD_DIVIDED_POLYCONE_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 DDDividedPolyconeRho final : public DDDividedGeometryObject {
0013 public:
0014 DDDividedPolyconeRho(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 DDDividedPolyconePhi final : public DDDividedGeometryObject {
0024 public:
0025 DDDividedPolyconePhi(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 DDDividedPolyconeZ final : public DDDividedGeometryObject {
0035 public:
0036 DDDividedPolyconeZ(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