Belle II Software  release-08-01-10
TRGCDCLink Class Reference

A class to relate TRGCDCCellHit and TRGCDCTrack objects. More...

#include <Link.h>

Collaboration diagram for TRGCDCLink:

Public Member Functions

 TRGCDCLink (TRGCDCTrack *track=0, const TRGCDCCellHit *hit=0, const HepGeom::Point3D< double > &position=Point3D())
 Constructor.
 
 TRGCDCLink (const TRGCDCLink &)
 Copy constructor.
 
virtual ~TRGCDCLink ()
 Destructor.
 
TRGCDCTracktrack (void) const
 returns a pointer to a track.
 
const TRGCDCCellHithit (void) const
 returns a pointer to a hit.
 
const TRGCDCCellcell (void) const
 returns a pointer to a cell.
 
const TRGCDCWirewire (void) const
 returns a pointer to a wire.
 
const TRGCDCSegmentsegment (void) const
 returns a pointer to a track segment.
 
double pull (void) const
 returns pull.
 
const HepGeom::Point3D< double > & xyPosition (void) const
 returns middle position of a wire. z componet is 0.
 
const HepGeom::Point3D< double > & positionOnWire (void) const
 returns the closest point on wire to a track.
 
const HepGeom::Point3D< double > & positionOnTrack (void) const
 returns the closest point on track to wire.
 
double dPhi (void) const
 returns dPhi to the closest point.
 
unsigned leftRight (void) const
 returns left-right. 0:left, 1:right, 2:wire
 
const HepGeom::Point3D< double > & position (void) const
 returns position.
 
double distance (void) const
 returns distance between point on wire and on track.
 
TRGCDCLinkneighbor (unsigned n) const
 returns neighbor TRGCDCLink.
 
TRGCDCLinklink (void) const
 returns a pointer to a TRGCDCLink.
 
const HepGeom::Point3D< double > & conf (const HepGeom::Point3D< double > &conf)
 conf 3D point
 
void update (const HepGeom::Point3D< double > &onTrack, const HepGeom::Point3D< double > &onWire, unsigned leftRight, double pull)
 sets results of fitting.
 
const TRGCDCCellHithit (const TRGCDCCellHit *)
 sets a pointer to a hit.
 
TRGCDCTracktrack (TRGCDCTrack *)
 sets a pointer to a track.
 
const HepGeom::Point3D< double > & positionOnWire (const HepGeom::Point3D< double > &)
 sets and returns the closest point on wire to a track.
 
const HepGeom::Point3D< double > & positionOnWire (double p[3])
 sets and returns the closest point on wire to a track.
 
const HepGeom::Point3D< double > & positionOnTrack (const HepGeom::Point3D< double > &)
 sets and returns the closest point on track to wire.
 
const HepGeom::Point3D< double > & positionOnTrack (double p[3])
 sets and returns the closest point on track to wire.
 
double dPhi (double)
 sets and returns dPhi to the closest point.
 
const HepGeom::Point3D< double > & position (const HepGeom::Point3D< double > &)
 sets and returns position.
 
void neighbor (unsigned n, TRGCDCLink *neighbor)
 sets neighbor TRGCDCLink.
 
TRGCDCLinklink (TRGCDCLink *)
 sets a pointer to a TRGCDCLink.
 
unsigned leftRight (unsigned)
 sets left-right. 0:left, 1:right, 2:wire
 
double pull (double)
 sets pull.
 
float drift (void) const
 returns drift distance.
 
float drift (unsigned) const
 returns drift distance of left or right.
 
float drift (float, unsigned)
 sets and returns drift distance of left or right.
 
float dDrift (void) const
 returns drift distance error.
 
float dDrift (unsigned) const
 returns drift distance error of left or right.
 
float dDrift (float, unsigned)
 sets and returns drift distance error of left or right.
 
void dump (const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
 dumps debug information.
 

Static Public Member Functions

static void removeAll (void)
 destructs all TRGCDCLink objects. (Called by TRGCDC)
 
static void * operator new (size_t)
 new operator.
 
static void operator delete (void *)
 delete operator.
 
static void separate (const std::vector< TRGCDCLink * > &links, unsigned nLayers, std::vector< TRGCDCLink * > *layers)
 separates into layers.
 
static const TRGCDCTrackMClinks2HEP (const std::vector< TRGCDCLink * > &links)
 returns TRGCDCTrackMC
 
static unsigned nSuperLayers (const std::vector< TRGCDCLink * > &links)
 returns # of layers.
 
static unsigned nSuperLayers (const std::vector< TRGCDCLink * > &links, unsigned minNHits)
 returns # of layers.
 
static unsigned nMissingAxialSuperLayers (const std::vector< TRGCDCLink * > &links)
 returns # of missing axial super layers. More...
 
static unsigned nMissingStereoSuperLayers (const std::vector< TRGCDCLink * > &links)
 returns # of missing stereo super layers.
 
static unsigned nLayers (const std::vector< TRGCDCLink * > &links)
 returns # of layers.
 
static void nHits (const std::vector< TRGCDCLink * > &links, unsigned *nHits)
 returns # of hits per layer.
 
static void nHitsSuperLayer (const std::vector< TRGCDCLink * > &links, unsigned *nHits)
 returns # of hits per super layer.
 
static void nHitsSuperLayer (const std::vector< TRGCDCLink * > &links, std::vector< TRGCDCLink * > *list)
 returns hits list per super layer.
 
static std::vector< TRGCDCLink * > axialHits (const std::vector< TRGCDCLink * > &links)
 returns axial hits.
 
static std::vector< TRGCDCLink * > stereoHits (const std::vector< TRGCDCLink * > &links)
 returns stereo hits.
 
static unsigned nAxialHits (const std::vector< TRGCDCLink * > &links)
 returns # of axial hits.
 
static unsigned nStereoHits (const std::vector< TRGCDCLink * > &links)
 returns # of stereo hits.
 
static unsigned width (const std::vector< TRGCDCLink * > &)
 returns width(wire cell unit) of given std::vector<TRGCDCLink *>. More...
 
static std::vector< TRGCDCLink * > edges (const std::vector< TRGCDCLink * > &)
 returns links which are edges. More...
 
static std::vector< TRGCDCLink * > sameLayer (const std::vector< TRGCDCLink * > &list, const TRGCDCLink &a)
 returns links which are in the same layer as 'a' or 'id'.
 
static std::vector< TRGCDCLink * > sameLayer (const std::vector< TRGCDCLink * > &list, unsigned id)
 returns links which are in the same layer as 'a' or 'id'.
 
static std::vector< TRGCDCLink * > sameSuperLayer (const std::vector< TRGCDCLink * > &list, const TRGCDCLink &a)
 returns links which are in the same super layer as 'a' or 'id'.
 
static std::vector< TRGCDCLink * > sameSuperLayer (const std::vector< TRGCDCLink * > &list, unsigned id)
 returns links which are in the same super layer as 'a' or 'id'.
 
static unsigned superLayer (const std::vector< TRGCDCLink * > &list)
 returns super layer pattern.
 
static unsigned superLayer (const std::vector< TRGCDCLink * > &list, unsigned minNHits)
 returns super layer pattern.
 
static TRGCDCLinkinnerMost (const std::vector< TRGCDCLink * > &links)
 returns the inner-most link.
 
static TRGCDCLinkouterMost (const std::vector< TRGCDCLink * > &links)
 returns the outer-most link.
 
static std::vector< TRGCDCLink * > inOut (const std::vector< TRGCDCLink * > &)
 returns links which are in the inner most and outer most layer. More...
 
static void separateCores (const std::vector< TRGCDCLink * > &input, std::vector< TRGCDCLink * > &cores, std::vector< TRGCDCLink * > &nonCores)
 separate cores and non-cores.
 
static std::vector< TRGCDCLink * > cores (const std::vector< TRGCDCLink * > &input)
 separate cores and non-cores.
 
static void remove (std::vector< TRGCDCLink * > &list, const std::vector< TRGCDCLink * > &links)
 removes links from list if wire is same
 
static void dump (const std::vector< const TRGCDCLink * > &links, const std::string &message=std::string(""), const std::string &prefix=std::string(""))
 dumps TRGCDCLinks.
 
static void dump (const std::vector< TRGCDCLink * > &links, const std::string &message=std::string(""), const std::string &prefix=std::string(""))
 dumps TRGCDCLinks.
 
static void dump (const TRGCDCLink &link, const std::string &message=std::string(""), const std::string &prefix=std::string(""))
 dumps TRGCDCLinks.
 
static std::string layerUsage (const std::vector< TRGCDCLink * > &links)
 usage of each layer
 
static bool sortById (const TRGCDCLink *a, const TRGCDCLink *b)
 sorts by ID.
 
static int sortByX (const TRGCDCLink *a, const TRGCDCLink *b)
 sorts by X position.
 
static void initializeBuffers (void)
 initialize the Buffers
 

Private Member Functions

void dump_base (const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
 dumps debug information.
 

Static Private Member Functions

static void clearBufferSL (void)
 clear buffers
 

Private Attributes

TRGCDCTrack_track
 Track object.
 
const TRGCDCCellHit_hit
 Cell hit object.
 
HepGeom::Point3D< double > _onTrack
 position on track
 
HepGeom::Point3D< double > _onWire
 position on wire
 
HepGeom::Point3D< double > _position
 position
 
double _dPhi
 dPhi
 
unsigned _leftRight
 left right
 
float _drift [2]
 drift distance
 
float _dDrift [2]
 drift distance error
 
int _zStatus
 z status of stereo
 
int _zPair
 not useds?
 
double _pull
 pull
 
TRGCDCLink_neighbor [7]
 neighbor TRGCDCLink
 
TRGCDCLink_link
 TRGCDCLink.
 
HepGeom::Point3D< double > _conf
 ...tmp...
 
HepGeom::Point3D< double > _arcZ [4]
 arcZ
 
unsigned _fit2D
 2D fitted or not
 

Static Private Attributes

static std::vector< TRGCDCLink * > _all
 Keeps all TRGCDCLinks created by new().
 
static bool ms_smallcell
 ms_smallcell
 
static bool ms_superb
 ms_superb
 
static unsigned _nL = 56
 ...Buffers...
 
static unsigned _nSL = 9
 ...Buffers...
 
static unsigned _nSLA = 5
 ...Buffers...
 
static unsigned * _nHitsSL = 0
 ...Buffers...
 

Friends

class TRGCDC
 

Detailed Description

A class to relate TRGCDCCellHit and TRGCDCTrack objects.

Definition at line 39 of file Link.h.


The documentation for this class was generated from the following files: