Class Cross

All Implemented Interfaces:
Serializable, Cloneable, Comparable<Cross>, Iterable<Cluster>, Collection<Cluster>, List<Cluster>, RandomAccess

public class Cross extends ArrayList<Cluster> implements Comparable<Cross>
The crosses are objects used to find tracks and are characterized by a 3-D point and a direction unit vector.
Author:
ziegler
See Also:
  • Field Details

    • isInSeed

      public boolean isInSeed
  • Constructor Details

    • Cross

      public Cross(DetectorType detector, BMTType detectortype, int sector, int region, int crid)
      Parameters:
      detector - SVT or BMT
      detectortype - detector type for BMT, C or Z detector
      sector - the sector (1...)
      region - the region (1...)
      crid -
  • Method Details

    • is_usedInXYcand

      public boolean is_usedInXYcand()
    • setusedInXYcand

      public void setusedInXYcand(boolean _usedInXYcand)
    • is_usedInZRcand

      public boolean is_usedInZRcand()
    • setusedInZRcand

      public void setusedInZRcand(boolean _usedInZRcand)
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface Collection<Cluster>
      Specified by:
      equals in interface List<Cluster>
      Overrides:
      equals in class ArrayList<Cluster>
    • getDetector

      public DetectorType getDetector()
    • setDetector

      public void setDetector(DetectorType _Detector)
    • getType

      public BMTType getType()
    • setType

      public void setType(BMTType type)
    • getSector

      public int getSector()
      Returns:
      the sector of the cross
    • setSector

      public void setSector(int _Sector)
      Sets the sector
      Parameters:
      _Sector - the sector of the cross
    • getRegion

      public int getRegion()
      Returns:
      the region of the cross
    • setRegion

      public void setRegion(int _Region)
      Sets the region
      Parameters:
      _Region - the region of the cross
    • getOrderedRegion

      public int getOrderedRegion()
      Returns:
      the _OrderedRegion
    • setOrderedRegion

      public void setOrderedRegion(int _OrderedRegion)
      Parameters:
      _OrderedRegion - the _OrderedRegion to set
    • getId

      public int getId()
      Returns:
      the id of the cross
    • setId

      public void setId(int _Id)
      Sets the cross ID
      Parameters:
      _Id - the id of the cross
    • getPoint0

      public Point3D getPoint0()
      Returns:
      a 3-D point characterizing the position of the cross in the tilted coordinate system.
    • setPoint0

      public void setPoint0(Point3D _Point)
      Sets the cross 3-D point
      Parameters:
      _Point - a 3-D point characterizing the position of the cross in the tilted coordinate system.
    • getPointErr0

      public Point3D getPointErr0()
      Returns:
      a 3-dimensional error on the 3-D point characterizing the position of the cross in the tilted coordinate system.
    • setPointErr0

      public void setPointErr0(Point3D _PointErr)
      Sets a 3-dimensional error on the 3-D point
      Parameters:
      _PointErr - a 3-dimensional error on the 3-D point characterizing the position of the cross in the tilted coordinate system.
    • getPoint

      public Point3D getPoint()
      Returns:
      a 3-D point characterizing the position of the cross in the tilted coordinate system.
    • setPoint

      public void setPoint(Point3D _Point)
      Sets the cross 3-D point
      Parameters:
      _Point - a 3-D point characterizing the position of the cross in the tilted coordinate system.
    • getY

      public double getY()
    • getZ

      public double getZ()
    • getPointErr

      public Point3D getPointErr()
      Returns:
      a 3-dimensional error on the 3-D point characterizing the position of the cross in the tilted coordinate system.
    • getZErr

      public double getZErr()
    • setPointErr

      public void setPointErr(Point3D _PointErr)
      Sets a 3-dimensional error on the 3-D point
      Parameters:
      _PointErr - a 3-dimensional error on the 3-D point characterizing the position of the cross in the tilted coordinate system.
    • getDir

      public Vector3D getDir()
      Returns:
      the cross unit direction vector
    • setDir

      public void setDir(Vector3D trkDir)
      Sets the cross unit direction vector
      Parameters:
      trkDir - the cross unit direction vector
    • getDirErr

      public Vector3D getDirErr()
      Returns:
      the cross unit direction vector
    • setDirErr

      public void setDirErr(Vector3D _DirErr)
      Sets the cross unit direction vector
      Parameters:
      _DirErr - the cross unit direction vector
    • getSerialversionuid

      public static long getSerialversionuid()
      Returns:
      serialVersionUID
    • setCluster1

      public void setCluster1(Cluster seg1)
      Set the first cluster (corresponding to the first superlayer in a region)
      Parameters:
      seg1 - the Cluster (in the first superlayer) which is used to make a cross
    • setCluster2

      public void setCluster2(Cluster seg2)
      Set the second Cluster (corresponding to the second superlayer in a region)
      Parameters:
      seg2 - the Cluster (in the second superlayer) which is used to make a cross
    • getCluster1

      public Cluster getCluster1()
      Returns:
      he Cluster (in the first superlayer) which is used to make a cross
    • getCluster2

      public Cluster getCluster2()
      Returns:
      the Cluster (in the second superlayer) which is used to make a cross
    • getMatchedZCross

      public Cross getMatchedZCross()
    • setMatchedZCross

      public void setMatchedZCross(Cross _MatchedZCross)
    • getMatchedCCross

      public Cross getMatchedCCross()
    • setMatchedCCross

      public void setMatchedCCross(Cross _MatchedCCross)
    • reset

      public void reset()
    • update

      public void update(Point3D trackPos, Vector3D trackDir)
    • updateBMTCross

      public void updateBMTCross(Point3D trackPos, Vector3D trackDir)
      Sets the cross parameters: the position and direction unit vector
    • updateSVTCross

      public void updateSVTCross(Vector3D trackDir)
      Sets the cross parameters: the position and direction unit vector
      Parameters:
      trackDir -
    • getSVTCrossPoint

      public Point3D getSVTCrossPoint(Vector3D trackDir)
      Calculate the cross point from the two strips and the track direction
      Parameters:
      trackDir - track direction
      Returns:
    • getSVTCrossError

      public Vector3D getSVTCrossError(Vector3D trackDir)
      Calculate the cross position error from the two strips and the track direction
      Parameters:
      trackDir - track direction
      Returns:
    • getSVTCrossDerivative

      public Vector3D getSVTCrossDerivative(int icluster, Vector3D trackDir)
      Calculate the cross derivative for the translation of one strip useful for the error calculation
      Parameters:
      trackDir - track direction
      Returns:
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Collection<Cluster>
      Specified by:
      hashCode in interface List<Cluster>
      Overrides:
      hashCode in class ArrayList<Cluster>
    • toString

      public String toString()
      Overrides:
      toString in class AbstractCollection<Cluster>
    • printInfo

      public String printInfo()
    • getSVTCosmicsRegion

      public int getSVTCosmicsRegion()
    • compareTo

      public int compareTo(Cross arg)
      Sorts crosses
      Specified by:
      compareTo in interface Comparable<Cross>
      Parameters:
      arg -
    • getAssociatedTrackID

      public int getAssociatedTrackID()
    • setAssociatedTrackID

      public void setAssociatedTrackID(int associatedTrackID)
    • getRadius

      public double getRadius()
      Returns:
      the Cross Radius
    • main

      public static void main(String[] arg)