10#include <tracking/spacePointCreation/SpacePoint.h>
11#include <tracking/trackFindingCDC/ca/AutomatonCell.h>
12#include <vxd/dataobjects/VxdID.h>
20 namespace vxdHoughTracking {
49 const double conformalTransform = 2. / ((hit->X() - BeamSpotPosition.
X()) * (hit->X() - BeamSpotPosition.
X()) +
50 (hit->Y() - BeamSpotPosition.
Y()) * (hit->Y() - BeamSpotPosition.
Y()));
72 float x = std::numeric_limits<float>::quiet_NaN();
74 float y = std::numeric_limits<float>::quiet_NaN();
76 float z = std::numeric_limits<float>::quiet_NaN();
78 float xConformal = std::numeric_limits<float>::quiet_NaN();
80 float yConformal = std::numeric_limits<float>::quiet_NaN();
88 float phi = std::numeric_limits<float>::quiet_NaN();
90 float theta = std::numeric_limits<float>::quiet_NaN();
92 float uTime = std::numeric_limits<float>::quiet_NaN();
94 float vTime = std::numeric_limits<float>::quiet_NaN();
96 unsigned short layer = std::numeric_limits<unsigned short>::quiet_NaN();
98 unsigned short ladder = std::numeric_limits<unsigned short>::quiet_NaN();
DataType X() const
access variable X (= .at(0) without boundary check)
DataType Y() const
access variable Y (= .at(1) without boundary check)
SpacePoint typically is build from 1 PXDCluster or 1-2 SVDClusters.
Cell used by the cellular automata.
const SensorInfoBase & getSensorInfo(Belle2::VxdID id) const
Return a referecne to the SensorInfo of a given SensorID.
static GeoCache & getInstance()
Return a reference to the singleton instance.
Base class to provide Sensor Information for PXD and SVD.
ROOT::Math::XYZVector pointToGlobal(const ROOT::Math::XYZVector &local, bool reco=false) const
Convert a point from local to global coordinates.
Class to uniquely identify a any structure of the PXD and SVD.
Simple container for hit information to be used during intercept finding.
const SpacePoint * m_hit
Pointer to hit.
const SpacePoint * getHit() const
Return the SP this state is related to. May be nullptr.
~VXDHoughState()=default
Destructor.
VXDHoughState(VXDHoughState &&)=default
Move constructor needed for STL containers.
TrackFindingCDC::AutomatonCell m_automatonCell
Memory for the automaton cell.
VXDHoughState(const VXDHoughState &)=delete
No copy constructor.
VXDHoughState(const SpacePoint *hit, const B2Vector3D &BeamSpotPosition)
Initialize the state as non-root with a related hit (and with a seed)
VXDHoughState & operator=(const VXDHoughState &)=delete
No copy constructor.
VXDHoughState()=default
Default constructor.
TrackFindingCDC::AutomatonCell & getAutomatonCell()
Getter for the automaton cell.
DataCache m_dataCache
Cache the most important data of this state for better runtime performance.
const DataCache getDataCache() const
Get the cached data of this state.
VXDHoughState & operator=(VXDHoughState &&)=default
Move assignment constructor.
Abstract base class for different kinds of events.
Cache containing the most important information of this state which will often be needed.
float sensorCenterPhi
Phi value of SpacePoint.
float yConformal
conformal transformed y coordinate of this hit
float localNormalizedu
Local normalized uCoordinate of this state, only set if based on SpacePoint.
unsigned short layer
Geometrical Layer this state is based on.
float xConformal
conformal transformed x coordinate of this hit
VxdID sensorID
SensorID of this hit.
float uTime
Time of the u-side cluster.
unsigned short ladder
Ladder this state is based on (only use for SpacePoint based states)
float y
y coordinate of this hit
float theta
Theta value of SpacePoint.
float phi
Phi value of SpacePoint.
float vTime
Time of the v-side cluster.
float x
x coordinate of this hit
float z
z coordinate of this hit
float localNormalizedv
Local normalized vCoordinate of this state, only set if based on SpacePoint.