 |
Belle II Software
release-05-02-19
|
12 #include <tracking/trackFindingCDC/topology/WireNeighborPair.h>
13 #include <tracking/trackFindingCDC/topology/WireLine.h>
15 #include <tracking/trackFindingCDC/topology/ISuperLayer.h>
16 #include <tracking/trackFindingCDC/topology/ILayer.h>
17 #include <tracking/trackFindingCDC/topology/IWire.h>
19 #include <tracking/trackFindingCDC/topology/WireNeighborKind.h>
20 #include <tracking/trackFindingCDC/topology/EStereoKind.h>
21 #include <tracking/trackFindingCDC/topology/EWirePosition.h>
23 #include <tracking/trackFindingCDC/geometry/Vector3D.h>
24 #include <tracking/trackFindingCDC/geometry/Vector2D.h>
26 #include <tracking/trackFindingCDC/utilities/MayBePtr.h>
28 #include <cdc/dataobjects/WireID.h>
46 namespace TrackFindingCDC {
50 class CDCWireSuperLayer;
73 static const CDCWire*
getInstance(ISuperLayer iSuperLayer, ILayer iLayer, IWire iWire);
83 CDCWire(ISuperLayer iSuperLayer, ILayer iLayer, IWire iWire);
Vector3D sagClosest3D(const Vector3D &point) const
Returns the closest approach on the wire with wire sag effect to the give point.
double theta() const
Returns the nominal opening angle between tangential vector and the z axes.
Vector3D getBackwardPos3D() const
Getter for the forward joint point of the wire with the wall.
Class to identify a wire inside the CDC.
Vector2D nominalPerigee2D() const
Returns the point of nominal closest approach to the z axes.
double getForwardZ() const
Getter for the z coordinate at the forward joint points of the wires.
double getDistance(const Vector3D &pos3D) const
Calculates the distance from the position to the wire.
Vector3D getWirePos3DAtZ(const double z) const
Gives position of the wire at the given z coordinate.
WireNeighborPair getNeighborsInwards() const
Gives the two wires in the next layer inward.
unsigned short getILayer() const
Getter for layer within the Super-Layer.
A two dimensional vector which is equipped with functions for correct handeling of orientation relat...
Vector3D wireVector() const
Getter for the vector from backward to the forward position.
Vector2D sagMovePerZ(const double z) const
Gives the two dimensional position with wire sag effect of the line at the given z value.
Vector2D sagPos2DAtZ(const double z) const
Gives the two dimensional position with wire sag effect of the line at the given z value.
IWire getIWire() const
Getter for the wire id within its layer.
unsigned short getEWire() const
Getter for encoded wire number.
const Vector2D & getRefPos2D() const
Getter for the wire reference position for 2D tracking Gives the wire's reference position projected ...
static EStereoKind getStereoKind(ISuperLayer iSuperLayer)
Returns the stereo kind of the super layer.
Class containing the result of the unpacker in raw data and the result of the digitizer in simulation...
double getRefZ() const
Getter for the wire reference z coordinate Gives the wire's reference z coordinate.
WireNeighborKind getNeighborKind(const CDCWire &wire) const
Returns gives the kind of neighborhood relation from this wire to the given wire.
unsigned short getEWire() const
Getter for the encoded wire number.
unsigned short getISuperLayer() const
Getter for Super-Layer.
Vector3D forward3D() const
Gives the position of the forward point.
double getBackwardZ() const
Getter for the z coordinate at the backward joint points of the wires.
MayBePtr< const CDCWire > getNeighborCW() const
Gives the closest neighbor in the clockwise direction - always exists.
double m_refCylindricalR
Precomputed distance to the beam line at the reference position.
const CDCWireLayer & getWireLayer() const
Getter for the wire layer.
double getBackwardCylindricalR() const
Getter for the distance to the beamline ( z-axes ) at the backward joint point.
MayBePtr< const CDCWire > getNeighborCWInwards() const
Gives the closest neighbor in the clockwise inwards direction This does not cross superlayer boundari...
void initialize(EWirePosition wirePosition, bool ignoreWireSag)
(Re)load all geometry parameters form the CDCGeometryPar to adjust to changes in geometry.
bool isInCellZBounds(const Vector3D &pos3D, const double factor=1) const
Checks whether the position is in the z bounds of the drift cell (scaled by the factor) surrounding t...
bool operator==(const CDCWire &other) const
Equality comparision based on wireID.
Vector3D getWireVector() const
Getter for the vector pointing from the back end ofthe wire to the front end of the wire.
double forwardCylindricalR() const
Gives the cylindrical radius of the forward position.
double sagDistance(const Vector3D &pos3D) const
Calculates the distance of the given point to the wire with wire sag effect.
Vector3D getClosest(const Vector3D &pos3D) const
Calculates the closest approach in the wire to the position.
void operator=(const CDCWire &wire)=delete
Disallow copy assignment of wires.
ILayer getILayer() const
Getter for the layer id within its superlayer Gives the layer id within its superlayer ranging from ...
ISuperLayer getISuperLayer() const
Gives the superlayer id ranging from 0 - 8.
Vector2D getWirePos2DAtZ(const double z) const
Gives the xy projected position of the wire at the given z coordinate.
const Vector2D & refPos2D() const
Returns the xy vector of the reference position.
const Vector3D & getRefPos3D() const
Getter for the wire reference position.
double refZ() const
Returns the the z coordinate of the reference point.
double getLateralCellWidth() const
Getter for the cell widths in lateral direction.
Vector2D getMovePerZ() const
Getter for the vector describing the nominal positional change in the xy plane per unit z.
Vector3D sagPos3DAtZ(const double z) const
Gives the three dimensional position with wire sag effect of the line at the given z value.
ILayer getICLayer() const
Getter for the continious layer id ranging from 0 - 55.
bool isPrimaryNeighborWith(const CDCWire &wire) const
Returns whether the give wire is a neighbor of this wire.
Abstract base class for different kinds of events.
A three dimensional limited line represented by its closest approach to the z-axes (reference positio...
A three dimensional vector.
MayBePtr< const CDCWire > getNeighborCCWOutwards() const
Gives the closest neighbor in the countclockwise outwards direction This does not cross superlayer bo...
const Vector3D & refPos3D() const
Returns the reference position.
static const CDCWire * getInstance(const WireID &wireID)
Getter from the wireID convinience object. Does not construct a new object.
double tanTheta() const
Returns the tangent of the opening angle between tangential vector and the z axes Also know as ds / d...
double getMinCylindricalR() const
Getter for the closest distance to the beamline ( z-axes )
const Vector2D & nominalMovePerZ() const
Gives the positional move in the xy projection per unit z.
const WireLine & getWireLine() const
Getter for the wire line represenation of the wire.
bool operator<(const CDCWire &other) const
Total ordering relation based on the wire id Defines a total ordering scheme for wire objects based o...
Class representating a sense wire layer in the central drift chamber.
bool isAxial() const
Indicates if the wire is axial or stereo.
double getTanStereoAngle() const
Getter for the tangents of the stereo angle of the wire.
WireLine m_wireLine
The line representation of the wire.
const WireID & getWireID() const
Getter for the wire id.
double getForwardCylindricalR() const
Getter for the nominal distance to the beamline ( z-axes ) at the forward joint point.
Vector3D backward3D() const
Gives the position of the backward point.
CDCWire(const WireID &wireID)
Constructor taking the combined wire id convenience object.
double forwardZ() const
Gives the forward z coodinate.
EWirePosition
Wire position set.
Class representating a sense wire superlayer in the central drift chamber.
double norm() const
Calculates the length of the vector.
double backwardZ() const
Gives the backward z coodinate.
bool isInCell(const Vector3D &pos3D) const
Checks whether the position is in the drift cell surrounding the wire.
Vector3D getForwardPos3D() const
Getter for the forward joint point of the wire with the wall.
Class representing a sense wire in the central drift chamber.
MayBePtr< const CDCWire > getSecondaryNeighbor(short oClockDirection) const
Getter for the secondary neighbors of this wire id following the direction on the clock.
EStereoKind getStereoKind() const
Getter for the stereo type of the wire.
const CDCWireSuperLayer & getWireSuperLayer() const
Getter for the wire super layer.
double z() const
Getter for the z coordinate.
Type for the neighbor relationship from one wire to another.
double getRadialCellWidth() const
Getter for the cell widths in radial direction.
MayBePtr< const CDCWire > getNeighborCCWInwards() const
Gives the closest neighbor in the countclockwise inwards direction This does not cross superlayer bou...
WireID m_wireID
The wireID of the wire.
WireNeighborPair getNeighborsOutwards() const
Gives the two wires in the next layer outward.
Vector2D getMovePerZAtZ(double z) const
Getter for the vector describing the real positional change in the xy plane per unit z at the z posit...
unsigned short getIWire() const
Getter for wire within the layer.
unsigned short getICLayer() const
Getter for continuous layer numbering.
Class representing a pair of neighbors in the CDC in a single layer For certain circumstances it is a...
MayBePtr< const CDCWire > getNeighborCWOutwards() const
Gives the closest neighbor in the clockwise outwards direction This does not cross superlayer boundar...
double getDriftLength(const Vector3D &pos3D) const
Calculates the straight drift length from the position to the wire This is essentially the same as th...
friend std::ostream & operator<<(std::ostream &output, const CDCWire &wire)
Sting output operator for wire objects to help debugging.
double getStereoAngle() const
Getter for the stereo angle of the wire.
MayBePtr< const CDCWire > getNeighborCCW() const
Gives the closest neighbor in the counterclockwise direction - always exists.
double getRefCylindricalR() const
Getter for the cylindrical radius at the wire reference position.