CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
12 
15 
17 
18 class DDLogicalPart;
19 class DDRotation;
20 class DDSolid;
21 
23 {
24 public:
25 
27 
28  virtual ~DDDividedGeometryObject( void );
29 
30  virtual DDTranslation makeDDTranslation( const int copyNo ) const;
31  virtual DDRotation makeDDRotation ( const int copyNo ) const ;
32  virtual DDLogicalPart makeDDLogicalPart( const int copyNo ) const;
33 
34  virtual const std::string& getType( void ) const;
35 
36  virtual void setType( const std::string& type );
37 
38  int volumeFirstCopyNo( void ) const;
39 
40  virtual void execute( void );
41 
42  static const double tolerance( void );
43 
44 protected:
45 
46  DDRotationMatrix* changeRotMatrix( double rotZ = 0. ) const;
47  int calculateNDiv( double motherDim, double width,
48  double offset ) const;
49  double calculateWidth( double motherDim, int nDiv,
50  double offset ) const;
51 
52  virtual void checkParametersValidity( void );
53 
54  void checkOffset( double maxPar );
55  void checkNDivAndWidth( double maxPar );
56 
57  virtual double getMaxParameter( void ) const;
58 
59 protected:
61  std::string ftype_;
62  int compNDiv_;
63  double compWidth_;
67 };
68 
69 #endif
type
Definition: HCALResponse.h:22
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:81
A DDSolid represents the shape of a part.
Definition: DDSolid.h:42
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:66
static const double tolerance(void)
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:95
virtual void setType(const std::string &type)
unsigned int offset(bool)
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