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 {
24  contOnError_(false), distTol_(0.0004),
25  rotTol_(0.0004), specTol_(0.0004)
26  { }
27 
29  bool attResync_;
31  double distTol_;
32  double rotTol_;
33  double specTol_;
34 };
35 
36 bool DDCompareEPV(DDExpandedView& lhs, DDExpandedView& rhs, const DDCompOptions& ddco);
37 bool DDCompareCPV(const DDCompactView& lhs, const DDCompactView& rhs, const DDCompOptions& ddco);
38 
40 
43 bool DDCompareLP(const DDLogicalPart& lhs, const DDLogicalPart& rhs, const DDCompOptions& ddco);
44 
46 bool DDCompareSolid(const DDSolid& lhs, const DDSolid& rhs, const DDCompOptions& ddco);
47 
48 bool DDCompareDBLVEC(const std::vector<double>& lhs, const std::vector<double>& rhs, double tol=0.0004);
49 
51 bool DDCompareBoolSol(const DDBooleanSolid& lhs, const DDBooleanSolid& rhs, const DDCompOptions& ddco);
52 bool DDCompareDDTrans(const DDTranslation& lhs, const DDTranslation& rhs, double tol=0.0004);
53 
55 bool DDCompareDDRot(const DDRotation& lhs, const DDRotation& rhs, const DDCompOptions& ddco);
56 
57 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)
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
bool DDCompareDDTrans(const DDTranslation &lhs, const DDTranslation &rhs, double tol=0.0004)
A DDSolid represents the shape of a part.
Definition: DDSolid.h:39
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:68
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)
bool DDCompareCPV(const DDCompactView &lhs, const DDCompactView &rhs, const DDCompOptions &ddco)