#include <CSCSlantedWireGeometry.h>
Public Member Functions | |
CSCWireGeometry * | clone () const override |
CSCSlantedWireGeometry (double wireSpacing, double yOfFirstWire, double narrow, double wide, double length, float wireAngle) | |
int | nearestWire (const LocalPoint &lp) const override |
float | wireAngle () const override |
float | yOfWire (float wire, float x=0.) const override |
~CSCSlantedWireGeometry () override | |
Public Member Functions inherited from CSCWireGeometry | |
CSCWireGeometry (double wireSpacing, double yOfFirstWire, double narrowWidthOfPlane, double wideWidthOfPlane, double lengthOfPlane) | |
std::pair< float, float > | equationOfWire (float wire) const |
LocalPoint | intersection (float m1, float c1, float m2, float c2) const |
double | lengthOfPlane () const |
double | narrowWidthOfPlane () const |
double | wideWidthOfPlane () const |
std::pair< LocalPoint, LocalPoint > | wireEnds (float wire) const |
double | wireSpacing () const |
std::vector< float > | wireValues (float wire) const |
std::pair< float, float > | yLimitsOfWirePlane () const |
double | yOfFirstWire () const |
virtual | ~CSCWireGeometry () |
Private Attributes | |
float | cosWireAngle |
float | sinWireAngle |
float | theWireAngle |
float | theWireOffset |
A concrete CSCWireGeometry in which wires are slanted, i.e. they have a fixed, non-zero angle w.r.t. local x axis.
Definition at line 15 of file CSCSlantedWireGeometry.h.
|
inlineoverride |
Definition at line 17 of file CSCSlantedWireGeometry.h.
CSCSlantedWireGeometry::CSCSlantedWireGeometry | ( | double | wireSpacing, |
double | yOfFirstWire, | ||
double | narrow, | ||
double | wide, | ||
double | length, | ||
float | wireAngle | ||
) |
Constructor from wire spacing and wire angle
Definition at line 8 of file CSCSlantedWireGeometry.cc.
References funct::cos(), cosWireAngle, LogTrace, funct::sin(), sinWireAngle, and theWireOffset.
Referenced by clone().
|
inlineoverridevirtual |
Clone to handle correct copy of component objects referenced by base class pointer.
Implements CSCWireGeometry.
Definition at line 45 of file CSCSlantedWireGeometry.h.
References CSCSlantedWireGeometry().
|
overridevirtual |
The nearest (virtual) wire to a given LocalPoint. Beware that this wire might not exist or be read out!
Implements CSCWireGeometry.
Definition at line 21 of file CSCSlantedWireGeometry.cc.
References cosWireAngle, nint(), sinWireAngle, theWireOffset, CSCWireGeometry::wireSpacing(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
|
inlineoverridevirtual |
The angle of the wires w.r.t local x axis (in radians)
Implements CSCWireGeometry.
Definition at line 28 of file CSCSlantedWireGeometry.h.
References theWireAngle.
|
overridevirtual |
Local y of a given wire 'number' (float) at given x
Implements CSCWireGeometry.
Definition at line 32 of file CSCSlantedWireGeometry.cc.
References cosWireAngle, sinWireAngle, theWireOffset, and CSCWireGeometry::wireSpacing().
|
private |
Definition at line 49 of file CSCSlantedWireGeometry.h.
Referenced by CSCSlantedWireGeometry(), nearestWire(), and yOfWire().
|
private |
Definition at line 50 of file CSCSlantedWireGeometry.h.
Referenced by CSCSlantedWireGeometry(), nearestWire(), and yOfWire().
|
private |
Definition at line 48 of file CSCSlantedWireGeometry.h.
Referenced by wireAngle().
|
private |
Definition at line 51 of file CSCSlantedWireGeometry.h.
Referenced by CSCSlantedWireGeometry(), nearestWire(), and yOfWire().