CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/DetectorDescription/RegressionTest/interface/DDCompareTools.h

Go to the documentation of this file.
00001 #include "DetectorDescription/Core/interface/DDCompactView.h"
00002 #include "DetectorDescription/Core/interface/DDExpandedView.h"
00003 #include "DetectorDescription/Core/interface/DDSolid.h"
00004 
00006 
00013 struct DDCompOptions {
00014   DDCompOptions() : compRotName_(false), attResync_(false),
00015                     contOnError_(false), distTol_(0.0004),
00016                     rotTol_(0.0004), specTol_(0.0004)
00017   { }
00018 
00019   bool compRotName_;
00020   bool attResync_;
00021   bool contOnError_;
00022   double distTol_;
00023   double rotTol_;
00024   double specTol_;
00025 };
00026 
00027 struct DDCompareEPV : public std::binary_function<DDExpandedView, DDExpandedView, bool> {
00028   DDCompareEPV();
00029   DDCompareEPV(const DDCompOptions& ddco);
00030   bool operator()(DDExpandedView& lhs, DDExpandedView& rhs) const ;
00031   DDCompOptions ddco_;
00032 };
00033 
00034 struct DDCompareCPV : public std::binary_function<DDCompactView, DDCompactView, bool> {
00035   DDCompareCPV();
00036   DDCompareCPV(const DDCompOptions& ddco);
00037   bool operator()(const DDCompactView& lhs, const DDCompactView& rhs) const ;
00038   DDCompOptions ddco_;
00039 };
00040 
00042 
00045 struct DDCompareLP : public std::binary_function<DDLogicalPart, DDLogicalPart, bool> {
00046   DDCompareLP();
00047   DDCompareLP(const DDCompOptions& ddco);
00048   bool operator()(const DDLogicalPart& lhs, const DDLogicalPart& rhs) const ;
00049   DDCompOptions ddco_;
00050 };
00051 
00053 struct DDCompareSolid : public std::binary_function<DDSolid, DDSolid, bool> {
00054   DDCompareSolid();
00055   DDCompareSolid(const DDCompOptions& ddco);
00056   bool operator()(const DDSolid& lhs, const DDSolid& rhs) const ;
00057   DDCompOptions ddco_;
00058 };
00059 
00060 struct DDCompareDBLVEC : public std::binary_function<std::vector<double>, std::vector<double>, bool> {
00061   DDCompareDBLVEC();
00062   DDCompareDBLVEC(double tol);
00063   bool operator()(const std::vector<double>& lhs, const std::vector<double>& rhs) const ;
00064   double tol_;
00065 };
00066 
00068 struct DDCompareBoolSol : public std::binary_function<DDBooleanSolid, DDBooleanSolid, bool> {
00069   DDCompareBoolSol();
00070   DDCompareBoolSol(const DDCompOptions& ddco);
00071   bool operator()(const DDBooleanSolid& lhs, const DDBooleanSolid& rhs) const ;
00072   DDCompOptions ddco_;
00073 };
00074 
00075 struct DDCompareDDTrans : public std::binary_function<DDTranslation, DDTranslation, bool> {
00076   DDCompareDDTrans();
00077   DDCompareDDTrans(double tol);
00078   bool operator()(const DDTranslation& lhs, const DDTranslation& rhs) const;
00079   double tol_;
00080 };
00081 
00083 struct DDCompareDDRot : public std::binary_function<DDRotation, DDRotation, bool> {
00084   DDCompareDDRot();
00085   DDCompareDDRot(const DDCompOptions& ddco);
00086   bool operator()(const DDRotation& lhs, const DDRotation& rhs) const;
00087   DDCompOptions ddco_;
00088 };
00089 
00090 struct DDCompareDDRotMat : public std::binary_function<DDRotationMatrix, DDRotationMatrix, bool> {
00091   DDCompareDDRotMat();
00092   DDCompareDDRotMat(double tol);
00093   bool operator()(const DDRotationMatrix& lhs, const DDRotationMatrix& rhs) const;
00094   double tol_;
00095 };
00096 
00097 
00098 
00099