CMS 3D CMS Logo

DDCompareTools.h
Go to the documentation of this file.
1 #include <vector>
2 
10 
11 class DDCompactView;
12 class DDExpandedView;
13 
15 
22 struct DDCompOptions {
27  distTol_(0.0004),
28  rotTol_(0.0004),
29  specTol_(0.0004) {}
30 
32  bool attResync_;
34  double distTol_;
35  double rotTol_;
36  double specTol_;
37 };
38 
39 bool DDCompareEPV(DDExpandedView& lhs, DDExpandedView& rhs, const DDCompOptions& ddco);
40 bool DDCompareCPV(const DDCompactView& lhs, const DDCompactView& rhs, const DDCompOptions& ddco);
41 
43 
46 bool DDCompareLP(const DDLogicalPart& lhs, const DDLogicalPart& rhs, const DDCompOptions& ddco);
47 
49 bool DDCompareSolid(const DDSolid& lhs, const DDSolid& rhs, const DDCompOptions& ddco);
50 
51 bool DDCompareDBLVEC(const std::vector<double>& lhs, const std::vector<double>& rhs, double tol = 0.0004);
52 
54 bool DDCompareBoolSol(const DDBooleanSolid& lhs, const DDBooleanSolid& rhs, const DDCompOptions& ddco);
55 bool DDCompareDDTrans(const DDTranslation& lhs, const DDTranslation& rhs, double tol = 0.0004);
56 
58 bool DDCompareDDRot(const DDRotation& lhs, const DDRotation& rhs, const DDCompOptions& ddco);
59 
60 bool DDCompareDDRotMat(const DDRotationMatrix& lhs, const DDRotationMatrix& rhs, double tol = 0.0004);
bool DDCompareLP(const DDLogicalPart &lhs, const DDLogicalPart &rhs, const DDCompOptions &ddco)
LogicalParts have solids which could be BooleanSolids.
bool DDCompareEPV(DDExpandedView &lhs, DDExpandedView &rhs, const DDCompOptions &ddco)
bool DDCompareDDRotMat(const DDRotationMatrix &lhs, const DDRotationMatrix &rhs, double tol=0.0004)
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:81
bool DDCompareDDTrans(const DDTranslation &lhs, const DDTranslation &rhs, double tol=0.0004)
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:57
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:93
bool DDCompareDDRot(const DDRotation &lhs, const DDRotation &rhs, const DDCompOptions &ddco)
Allows to compare name or not. If not, compares only values of the rotation matrix.
bool DDCompareDBLVEC(const std::vector< double > &lhs, const std::vector< double > &rhs, double tol=0.0004)
bool DDCompareBoolSol(const DDBooleanSolid &lhs, const DDBooleanSolid &rhs, const DDCompOptions &ddco)
Needs to know because of Rotation Matrix of Boolean Relationship.
bool DDCompareSolid(const DDSolid &lhs, const DDSolid &rhs, const DDCompOptions &ddco)
Needs to know about rotmat because of BooleanSolid.
DDComparators need to know if names of DDRotation matter.
Provides an exploded view of the detector (tree-view)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
bool DDCompareCPV(const DDCompactView &lhs, const DDCompactView &rhs, const DDCompOptions &ddco)