CMS 3D CMS Logo

DDDividedGeometryObject.h
Go to the documentation of this file.
1 #ifndef DD_DividedGeometryObject_H
2 #define DD_DividedGeometryObject_H
3 //
4 // ********************************************************************
5 // 25.04.04 - M.Case ported algorithm from G4VDivisionParameterisation.hh. to
6 // DDD version
7 //---------------------------------------------------------------------
8 
9 #include <string>
10 
16 
17 class DDCompactView;
18 
20 
21 class DDLogicalPart;
22 class DDRotation;
23 class DDSolid;
24 
26 {
27 public:
28 
30 
31  virtual ~DDDividedGeometryObject( void ) = default; // inline
32 
33  virtual DDTranslation makeDDTranslation( const int copyNo ) const;
34  virtual DDRotation makeDDRotation ( const int copyNo ) const;
35  virtual DDLogicalPart makeDDLogicalPart( const int copyNo ) const;
36 
37  virtual const std::string& getType( void ) const;
38 
39  virtual void setType( const std::string& type );
40 
41  int volumeFirstCopyNo( void ) const;
42 
43  virtual void execute( void );
44 
45  static const double tolerance( void );
46 
47 protected:
48 
49  DDRotationMatrix* changeRotMatrix( double rotZ = 0. ) const;
50  int calculateNDiv( double motherDim, double width,
51  double offset ) const;
52  double calculateWidth( double motherDim, int nDiv,
53  double offset ) const;
54 
55  virtual void checkParametersValidity( void );
56 
57  void checkOffset( double maxPar );
58  void checkNDivAndWidth( double maxPar );
59 
60  virtual double getMaxParameter( void ) const;
61 
62 protected:
65  int compNDiv_;
66  double compWidth_;
70 };
71 
72 #endif
type
Definition: HCALResponse.h:21
virtual DDLogicalPart makeDDLogicalPart(const 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 ~DDDividedGeometryObject(void)=default
A DDSolid represents the shape of a part.
Definition: DDSolid.h:37
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)
virtual DDTranslation makeDDTranslation(const int copyNo) const
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:64
static const double tolerance(void)
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
virtual DDRotation makeDDRotation(const int copyNo) const
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
void checkNDivAndWidth(double maxPar)
DDRotationMatrix * changeRotMatrix(double rotZ=0.) const