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 {
22 public:
23 
25 
26  virtual ~DDDividedGeometryObject( void ) = default; // inline
27 
28  virtual DDTranslation makeDDTranslation( int copyNo ) const;
29  virtual DDRotation makeDDRotation ( int copyNo ) const;
30  virtual DDLogicalPart makeDDLogicalPart( int copyNo ) const;
31 
32  virtual const std::string& getType( void ) const;
33 
34  virtual void setType( const std::string& type );
35 
36  int volumeFirstCopyNo( void ) const;
37 
38  virtual void execute( void );
39 
40  static const double tolerance( void );
41 
42 protected:
43 
44  DDRotationMatrix* changeRotMatrix( double rotZ = 0. ) const;
45  int calculateNDiv( double motherDim, double width,
46  double offset ) const;
47  double calculateWidth( double motherDim, int nDiv,
48  double offset ) const;
49 
50  virtual void checkParametersValidity( void );
51 
52  void checkOffset( double maxPar );
53  void checkNDivAndWidth( double maxPar );
54 
55  virtual double getMaxParameter( void ) const;
56 
57 protected:
60  int compNDiv_;
61  double compWidth_;
65 };
66 
67 #endif
type
Definition: HCALResponse.h:21
virtual DDTranslation makeDDTranslation(int copyNo) const
virtual double getMaxParameter(void) const
int calculateNDiv(double motherDim, double width, double offset) const
double calculateWidth(double motherDim, int nDiv, double offset) const
type of data representation of DDCompactView
Definition: DDCompactView.h:90
virtual DDRotation makeDDRotation(int copyNo) const
virtual ~DDDividedGeometryObject(void)=default
A DDSolid represents the shape of a part.
Definition: DDSolid.h:38
virtual void checkParametersValidity(void)
int volumeFirstCopyNo(void) const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
DDDividedGeometryObject(const DDDivision &div, DDCompactView *cpv)
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:67
static const double tolerance(void)
virtual DDLogicalPart makeDDLogicalPart(int copyNo) const
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:92
virtual void setType(const std::string &type)
virtual const std::string & getType(void) const
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
void checkNDivAndWidth(double maxPar)
DDRotationMatrix * changeRotMatrix(double rotZ=0.) const