Belle II Software development
TRGCDCLink Class Reference

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

#include <Link.h>

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 component 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.
 
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 *>.
 
static std::vector< TRGCDCLink * > edges (const std::vector< TRGCDCLink * > &)
 returns links which are edges.
 
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.
 
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

TRGCDCTrackm_track
 Track object.
 
const TRGCDCCellHitm_hit
 Cell hit object.
 
HepGeom::Point3D< double > m_onTrack
 position on track
 
HepGeom::Point3D< double > m_onWire
 position on wire
 
HepGeom::Point3D< double > m_position
 position
 
double m_dPhi
 dPhi
 
unsigned m_leftRight
 left right
 
float m_drift [2]
 drift distance
 
float m_dDrift [2]
 drift distance error
 
int m_zStatus
 z status of stereo
 
int m_zPair
 not useds?
 
double m_pull
 pull
 
TRGCDCLinkm_neighbor [7]
 neighbor TRGCDCLink
 
TRGCDCLinkm_link
 TRGCDCLink.
 
HepGeom::Point3D< double > m_conf
 ...tmp...
 
HepGeom::Point3D< double > m_arcZ [4]
 arcZ
 
unsigned m_fit2D
 2D fitted or not
 

Static Private Attributes

static std::vector< TRGCDCLink * > m_all
 Keeps all TRGCDCLinks created by new().
 
static bool ms_smallcell
 ms_smallcell
 
static bool ms_superb
 ms_superb
 
static unsigned m_nL = 56
 ...Buffers...
 
static unsigned m_nSL = 9
 ...Buffers...
 
static unsigned m_nSLA = 5
 ...Buffers...
 
static unsigned * m_nHitsSL = 0
 ...Buffers...
 

Friends

class TRGCDC
 

Detailed Description

A class to relate TRGCDCCellHit and TRGCDCTrack objects.

Definition at line 39 of file Link.h.

Friends And Related Function Documentation

◆ TRGCDC

friend class TRGCDC
friend

Definition at line 331 of file Link.h.

Member Data Documentation

◆ m_arcZ

HepGeom::Point3D<double> m_arcZ[4]
private

arcZ

Definition at line 386 of file Link.h.

◆ m_conf

HepGeom::Point3D<double> m_conf
private

...tmp...

Definition at line 383 of file Link.h.

◆ m_dDrift

float m_dDrift[2]
private

drift distance error

Definition at line 369 of file Link.h.

◆ m_dPhi

double m_dPhi
private

dPhi

Definition at line 363 of file Link.h.

◆ m_drift

float m_drift[2]
private

drift distance

Definition at line 367 of file Link.h.

◆ m_fit2D

unsigned m_fit2D
private

2D fitted or not

Definition at line 388 of file Link.h.

◆ m_hit

const TRGCDCCellHit* m_hit
private

Cell hit object.

Definition at line 354 of file Link.h.

◆ m_leftRight

unsigned m_leftRight
private

left right

Definition at line 365 of file Link.h.

◆ m_link

TRGCDCLink* m_link
private

TRGCDCLink.

Definition at line 380 of file Link.h.

◆ m_neighbor

TRGCDCLink* m_neighbor[7]
private

neighbor TRGCDCLink

Definition at line 378 of file Link.h.

◆ m_onTrack

HepGeom::Point3D<double> m_onTrack
private

position on track

Definition at line 357 of file Link.h.

◆ m_onWire

HepGeom::Point3D<double> m_onWire
private

position on wire

Definition at line 359 of file Link.h.

◆ m_position

HepGeom::Point3D<double> m_position
private

position

Definition at line 361 of file Link.h.

◆ m_pull

double m_pull
private

pull

Definition at line 376 of file Link.h.

◆ m_track

TRGCDCTrack* m_track
private

Track object.

Definition at line 351 of file Link.h.

◆ m_zPair

int m_zPair
private

not useds?

Definition at line 374 of file Link.h.

◆ m_zStatus

int m_zStatus
private

z status of stereo

Definition at line 372 of file Link.h.


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