CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DDCompareTools.h
Go to the documentation of this file.
4 
6 
13 struct DDCompOptions {
15  contOnError_(false), distTol_(0.0004),
16  rotTol_(0.0004), specTol_(0.0004)
17  { }
18 
20  bool attResync_;
22  double distTol_;
23  double rotTol_;
24  double specTol_;
25 };
26 
27 struct DDCompareEPV : public std::binary_function<DDExpandedView, DDExpandedView, bool> {
28  DDCompareEPV();
29  DDCompareEPV(const DDCompOptions& ddco);
30  bool operator()(DDExpandedView& lhs, DDExpandedView& rhs) const ;
32 };
33 
34 struct DDCompareCPV : public std::binary_function<DDCompactView, DDCompactView, bool> {
35  DDCompareCPV();
36  DDCompareCPV(const DDCompOptions& ddco);
37  bool operator()(const DDCompactView& lhs, const DDCompactView& rhs) const ;
39 };
40 
42 
45 struct DDCompareLP : public std::binary_function<DDLogicalPart, DDLogicalPart, bool> {
46  DDCompareLP();
47  DDCompareLP(const DDCompOptions& ddco);
48  bool operator()(const DDLogicalPart& lhs, const DDLogicalPart& rhs) const ;
50 };
51 
53 struct DDCompareSolid : public std::binary_function<DDSolid, DDSolid, bool> {
55  DDCompareSolid(const DDCompOptions& ddco);
56  bool operator()(const DDSolid& lhs, const DDSolid& rhs) const ;
58 };
59 
60 struct DDCompareDBLVEC : public std::binary_function<std::vector<double>, std::vector<double>, bool> {
62  DDCompareDBLVEC(double tol);
63  bool operator()(const std::vector<double>& lhs, const std::vector<double>& rhs) const ;
64  double tol_;
65 };
66 
68 struct DDCompareBoolSol : public std::binary_function<DDBooleanSolid, DDBooleanSolid, bool> {
70  DDCompareBoolSol(const DDCompOptions& ddco);
71  bool operator()(const DDBooleanSolid& lhs, const DDBooleanSolid& rhs) const ;
73 };
74 
75 struct DDCompareDDTrans : public std::binary_function<DDTranslation, DDTranslation, bool> {
77  DDCompareDDTrans(double tol);
78  bool operator()(const DDTranslation& lhs, const DDTranslation& rhs) const;
79  double tol_;
80 };
81 
83 struct DDCompareDDRot : public std::binary_function<DDRotation, DDRotation, bool> {
85  DDCompareDDRot(const DDCompOptions& ddco);
86  bool operator()(const DDRotation& lhs, const DDRotation& rhs) const;
88 };
89 
90 struct DDCompareDDRotMat : public std::binary_function<DDRotationMatrix, DDRotationMatrix, bool> {
92  DDCompareDDRotMat(double tol);
93  bool operator()(const DDRotationMatrix& lhs, const DDRotationMatrix& rhs) const;
94  double tol_;
95 };
96 
97 
98 
99 
DDCompOptions ddco_
bool operator()(const DDCompactView &lhs, const DDCompactView &rhs) const
Needs to know about rotmat because of BooleanSolid.
DDCompOptions ddco_
type of data representation of DDCompactView
Definition: DDCompactView.h:77
DDCompOptions ddco_
Needs to know because of Rotation Matrix of Boolean Relationship.
A DDSolid represents the shape of a part.
Definition: DDSolid.h:35
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
Definition: DDTranslation.h:7
bool operator()(const DDTranslation &lhs, const DDTranslation &rhs) const
Represents a uniquely identifyable rotation matrix.
Definition: DDTransform.h:66
bool operator()(const DDLogicalPart &lhs, const DDLogicalPart &rhs) const
A DDLogicalPart aggregates information concerning material, solid and sensitveness ...
Definition: DDLogicalPart.h:88
bool operator()(const std::vector< double > &lhs, const std::vector< double > &rhs) const
bool operator()(DDExpandedView &lhs, DDExpandedView &rhs) const
DDCompOptions ddco_
bool operator()(const DDSolid &lhs, const DDSolid &rhs) const
bool operator()(const DDBooleanSolid &lhs, const DDBooleanSolid &rhs) const
DDCompOptions ddco_
DDComparators need to know if names of DDRotation matter.
bool operator()(const DDRotationMatrix &lhs, const DDRotationMatrix &rhs) const
Allows to compare name or not. If not, compares only values of the rotation matrix.
DDCompOptions ddco_
LogicalParts have solids which could be BooleanSolids.
Provides an exploded view of the detector (tree-view)
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
bool operator()(const DDRotation &lhs, const DDRotation &rhs) const