CMS 3D CMS Logo

DDDividedGeometryObject.h
Go to the documentation of this file.
1 #ifndef DETECTOR_DESCRIPTION_PARSER_DD_DIVIDED_GEOMETRY_OBJECT_H
2 #define DETECTOR_DESCRIPTION_PARSER_DD_DIVIDED_GEOMETRY_OBJECT_H
3 
4 #include <string>
5 
11 
12 class DDCompactView;
13 
15 
16 class DDLogicalPart;
17 class DDRotation;
18 class DDSolid;
19 
21 public:
23 
24  virtual ~DDDividedGeometryObject(void) = default; // inline
25 
26  virtual DDTranslation makeDDTranslation(int copyNo) const;
27  virtual DDRotation makeDDRotation(int copyNo) const;
28  virtual DDLogicalPart makeDDLogicalPart(int copyNo) const;
29 
30  virtual const std::string& getType(void) const;
31 
32  virtual void setType(const std::string& type);
33 
34  int volumeFirstCopyNo(void) const;
35 
36  virtual void execute(void);
37 
38  static const double tolerance(void);
39 
40 protected:
41  std::unique_ptr<DDRotationMatrix> changeRotMatrix(double rotZ = 0.) const;
42  int calculateNDiv(double motherDim, double width, double offset) const;
43  double calculateWidth(double motherDim, int nDiv, double offset) const;
44 
45  virtual void checkParametersValidity(void);
46 
47  void checkOffset(double maxPar);
48  void checkNDivAndWidth(double maxPar);
49 
50  virtual double getMaxParameter(void) const;
51 
52 protected:
55  int compNDiv_;
56  double compWidth_;
60 };
61 
62 #endif
DDDividedGeometryObject::checkNDivAndWidth
void checkNDivAndWidth(double maxPar)
Definition: DDDividedGeometryObject.cc:64
DDDividedGeometryObject::compWidth_
double compWidth_
Definition: DDDividedGeometryObject.h:56
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
DDDividedGeometryObject::makeDDRotation
virtual DDRotation makeDDRotation(int copyNo) const
Definition: DDDividedGeometryObject.cc:93
DDDividedGeometryObject::cpv_
DDCompactView * cpv_
Definition: DDDividedGeometryObject.h:59
DivisionType
DivisionType
Definition: DDDividedGeometryObject.h:14
DDDividedGeometryObject::DDDividedGeometryObject
DDDividedGeometryObject(const DDDivision &div, DDCompactView *cpv)
Definition: DDDividedGeometryObject.cc:13
DDDividedGeometryObject::tolerance
static const double tolerance(void)
Definition: DDDividedGeometryObject.cc:75
DDAxes.h
DDDividedGeometryObject::volumeFirstCopyNo
int volumeFirstCopyNo(void) const
DDDividedGeometryObject::checkOffset
void checkOffset(double maxPar)
Definition: DDDividedGeometryObject.cc:54
DDDividedGeometryObject::ftype_
std::string ftype_
Definition: DDDividedGeometryObject.h:54
DDDividedGeometryObject
Definition: DDDividedGeometryObject.h:20
DDDividedGeometryObject::makeDDLogicalPart
virtual DDLogicalPart makeDDLogicalPart(int copyNo) const
Definition: DDDividedGeometryObject.cc:97
DDCompactView.h
DivWIDTH
Definition: DDDividedGeometryObject.h:14
DDDividedGeometryObject::execute
virtual void execute(void)
Definition: DDDividedGeometryObject.cc:85
DDDividedGeometryObject::~DDDividedGeometryObject
virtual ~DDDividedGeometryObject(void)=default
DDDividedGeometryObject::checkParametersValidity
virtual void checkParametersValidity(void)
Definition: DDDividedGeometryObject.cc:41
DDTranslation
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
DivNDIV
Definition: DDDividedGeometryObject.h:14
DivNDIVandWIDTH
Definition: DDDividedGeometryObject.h:14
DDDividedGeometryObject::getMaxParameter
virtual double getMaxParameter(void) const
Definition: DDDividedGeometryObject.cc:91
DDCompactView
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:81
DDDividedGeometryObject::getType
virtual const std::string & getType(void) const
Definition: DDDividedGeometryObject.cc:83
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DDDividedGeometryObject::calculateNDiv
int calculateNDiv(double motherDim, double width, double offset) const
Definition: DDDividedGeometryObject.cc:33
DDDividedGeometryObject::div_
DDDivision div_
Definition: DDDividedGeometryObject.h:53
DDDividedGeometryObject::changeRotMatrix
std::unique_ptr< DDRotationMatrix > changeRotMatrix(double rotZ=0.) const
Definition: DDDividedGeometryObject.cc:29
DDDividedGeometryObject::compNDiv_
int compNDiv_
Definition: DDDividedGeometryObject.h:55
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
DDLogicalPart
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
Definition: DDLogicalPart.h:93
DDDividedGeometryObject::divisionType_
DivisionType divisionType_
Definition: DDDividedGeometryObject.h:57
DDDividedGeometryObject::setType
virtual void setType(const std::string &type)
Definition: DDDividedGeometryObject.cc:81
DDTranslation.h
DDDivision
Definition: DDDivision.h:78
DDDivision.h
DDRotationMatrix.h
DDSolid
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
DDRotation
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:57
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
DDDividedGeometryObject::theVoluFirstCopyNo_
int theVoluFirstCopyNo_
Definition: DDDividedGeometryObject.h:58
DDDividedGeometryObject::calculateWidth
double calculateWidth(double motherDim, int nDiv, double offset) const
Definition: DDDividedGeometryObject.cc:37
DDDividedGeometryObject::makeDDTranslation
virtual DDTranslation makeDDTranslation(int copyNo) const
Definition: DDDividedGeometryObject.cc:95