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 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.
 
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

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.

Friends And Related Function Documentation

◆ TRGCDC

friend class TRGCDC
friend

Definition at line 331 of file Link.h.

Member Data Documentation

◆ _arcZ

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

arcZ

Definition at line 386 of file Link.h.

◆ _conf

HepGeom::Point3D<double> _conf
private

...tmp...

Definition at line 383 of file Link.h.

◆ _dDrift

float _dDrift[2]
private

drift distance error

Definition at line 369 of file Link.h.

◆ _dPhi

double _dPhi
private

dPhi

Definition at line 363 of file Link.h.

◆ _drift

float _drift[2]
private

drift distance

Definition at line 367 of file Link.h.

◆ _fit2D

unsigned _fit2D
private

2D fitted or not

Definition at line 388 of file Link.h.

◆ _hit

const TRGCDCCellHit* _hit
private

Cell hit object.

Definition at line 354 of file Link.h.

◆ _leftRight

unsigned _leftRight
private

left right

Definition at line 365 of file Link.h.

◆ _link

TRGCDCLink* _link
private

TRGCDCLink.

Definition at line 380 of file Link.h.

◆ _neighbor

TRGCDCLink* _neighbor[7]
private

neighbor TRGCDCLink

Definition at line 378 of file Link.h.

◆ _onTrack

HepGeom::Point3D<double> _onTrack
private

position on track

Definition at line 357 of file Link.h.

◆ _onWire

HepGeom::Point3D<double> _onWire
private

position on wire

Definition at line 359 of file Link.h.

◆ _position

HepGeom::Point3D<double> _position
private

position

Definition at line 361 of file Link.h.

◆ _pull

double _pull
private

pull

Definition at line 376 of file Link.h.

◆ _track

TRGCDCTrack* _track
private

Track object.

Definition at line 351 of file Link.h.

◆ _zPair

int _zPair
private

not useds?

Definition at line 374 of file Link.h.

◆ _zStatus

int _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: