CMS 3D CMS Logo

Classes | Functions
CSCGeometryValidate.cc File Reference
#include "FWCore/Framework/interface/one/EDAnalyzer.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "Geometry/CSCGeometry/interface/CSCGeometry.h"
#include "Geometry/CSCGeometry/interface/CSCChamber.h"
#include "Geometry/CSCGeometry/interface/CSCLayer.h"
#include "Geometry/CSCGeometry/interface/CSCLayerGeometry.h"
#include "Geometry/CSCGeometry/interface/CSCStripTopology.h"
#include "Geometry/CSCGeometry/interface/CSCWireTopology.h"
#include "Geometry/CommonTopologies/interface/StripTopology.h"
#include "Geometry/Records/interface/MuonGeometryRecord.h"
#include "Fireworks/Core/interface/FWGeometry.h"
#include "DataFormats/GeometrySurface/interface/RectangularPlaneBounds.h"
#include "DataFormats/GeometrySurface/interface/TrapezoidalPlaneBounds.h"
#include <TFile.h>
#include <TH1.h>
#include <limits>
#include <string>
#include <type_traits>
#include <algorithm>

Go to the source code of this file.

Classes

class  CSCGeometryValidate
 

Functions

template<class T >
enable_if<!numeric_limits< T >::is_integer, bool >::type almost_equal (T x, T y, int ulp)
 
static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker< edm::ParameterSetDescriptionFiller< CSCGeometryValidate > > s_filler__LINE__ ("CSCGeometryValidate")
 
static const edm::MakerPluginFactory ::PMaker< edm::WorkerMaker< CSCGeometryValidate > > s_maker__LINE__ ("CSCGeometryValidate")
 

Function Documentation

◆ almost_equal()

template<class T >
enable_if<!numeric_limits<T>::is_integer, bool>::type almost_equal ( T  x,
T  y,
int  ulp 
)

Definition at line 43 of file CSCGeometryValidate.cc.

43  {
44  // the machine epsilon has to be scaled to the magnitude of the values used
45  // and multiplied by the desired precision in ULPs (units in the last place)
46  return abs(x - y) <= numeric_limits<T>::epsilon() * abs(x + y) * ulp
47  // unless the result is subnormal
48  || abs(x - y) < numeric_limits<T>::min();
49 }

References funct::abs(), geometryDiff::epsilon, and min().

Referenced by CSCGeometryValidate::getDiff().

◆ s_filler__LINE__()

static const edm::ParameterSetDescriptionFillerPluginFactory::PMaker<edm::ParameterSetDescriptionFiller< CSCGeometryValidate > > s_filler__LINE__ ( "CSCGeometryValidate"  )
static

◆ s_maker__LINE__()

static const edm::MakerPluginFactory ::PMaker< edm::WorkerMaker< CSCGeometryValidate > > s_maker__LINE__ ( "CSCGeometryValidate"  )
static
min
T min(T a, T b)
Definition: MathUtil.h:58
geometryDiff.epsilon
int epsilon
Definition: geometryDiff.py:26
vertices_cff.x
x
Definition: vertices_cff.py:29
detailsBasic3DVector::y
float float y
Definition: extBasic3DVector.h:14
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22