CMS 3D CMS Logo

Public Member Functions

CSCNonslantedWireGeometry Class Reference

#include <CSCNonslantedWireGeometry.h>

Inheritance diagram for CSCNonslantedWireGeometry:
CSCWireGeometry

List of all members.

Public Member Functions

CSCWireGeometryclone () const
 CSCNonslantedWireGeometry (double wireSpacing, double yOfFirstWire, double narrow, double wide, double length)
int nearestWire (const LocalPoint &lp) const
float wireAngle () const
float yOfWire (float wire, float x=0.) const
virtual ~CSCNonslantedWireGeometry ()

Detailed Description

A concrete CSCWireGeometry in which the wires are not slanted, i.e. they are all parallel to the local x axis.

Author:
Tim Cox

Definition at line 16 of file CSCNonslantedWireGeometry.h.


Constructor & Destructor Documentation

virtual CSCNonslantedWireGeometry::~CSCNonslantedWireGeometry ( ) [inline, virtual]

Definition at line 18 of file CSCNonslantedWireGeometry.h.

{}
CSCNonslantedWireGeometry::CSCNonslantedWireGeometry ( double  wireSpacing,
double  yOfFirstWire,
double  narrow,
double  wide,
double  length 
) [inline]

Constructor from wire spacing

Definition at line 23 of file CSCNonslantedWireGeometry.h.

Referenced by clone().

                                                          :
       CSCWireGeometry( wireSpacing, yOfFirstWire, narrow, wide, length ) {}

Member Function Documentation

CSCWireGeometry* CSCNonslantedWireGeometry::clone ( void  ) const [inline, virtual]

Clone to handle correct copy of component objects referenced by base class pointer.

Implements CSCWireGeometry.

Definition at line 52 of file CSCNonslantedWireGeometry.h.

References CSCNonslantedWireGeometry().

                                 {
    return new CSCNonslantedWireGeometry(*this);
  }
int CSCNonslantedWireGeometry::nearestWire ( const LocalPoint lp) const [inline, virtual]

The nearest (virtual) wire to a given LocalPoint. Beware that this wire might not exist or be read out!

Implements CSCWireGeometry.

Definition at line 36 of file CSCNonslantedWireGeometry.h.

References nint(), CSCWireGeometry::wireSpacing(), PV3DBase< T, PVType, FrameType >::y(), and CSCWireGeometry::yOfFirstWire().

                                              {
    return 1 + nint( (lp.y()-yOfFirstWire())/wireSpacing() ) ;
  }
float CSCNonslantedWireGeometry::wireAngle ( ) const [inline, virtual]

The angle of the wires w.r.t local x axis (in radians)

Implements CSCWireGeometry.

Definition at line 30 of file CSCNonslantedWireGeometry.h.

{ return 0.; }
float CSCNonslantedWireGeometry::yOfWire ( float  wire,
float  x = 0. 
) const [inline, virtual]

Local y of a given wire 'number' (float) at given x For nonslanted wires this y is independent of x.

Implements CSCWireGeometry.

Definition at line 44 of file CSCNonslantedWireGeometry.h.

References CSCWireGeometry::wireSpacing(), and CSCWireGeometry::yOfFirstWire().

                                              {
    return yOfFirstWire() + (wire-1.)*wireSpacing();
  }