BOSS 7.0.9
BESIII Offline Software System
|
#include <MucRec3DRoad.h>
Public Member Functions | |
MucRec3DRoad (MucRec2DRoad *road0, MucRec2DRoad *road1) | |
Constructor. | |
MucRec3DRoad & | operator= (const MucRec3DRoad &orig) |
Assignment constructor. | |
MucRec3DRoad (const MucRec3DRoad &source) | |
Copy constructor. | |
~MucRec3DRoad () | |
Destructor. | |
void | SetIndex (const int &index) |
set the index for this road | |
void | SetGroup (const int &Group) |
set the group index for this road | |
void | SetSimpleFitParams (const float &m_SlopeZX, const float &m_InterceptZX, const float &m_SlopeZY, const float &m_InterceptZY) |
set the fit parameters : slope and intercept for XZ and YZ. | |
int | RefitNoCurrentGap (const int &gap, float &slopeZX, float &interceptZX, float &slopeZY, float &interceptZY) |
refit the 3D road without the assigned gap | |
vector< Identifier > | ProjectToStrip (const int &part, const int &gap, const HepPoint3D &gPoint, const Hep3Vector &gDirection) |
vector< Identifier > | ProjectToStrip (const int &part, const int &gap, const HepPoint3D &gPoint, const Hep3Vector &gDirection, vector< int > &padID, vector< float > &intersect_x, vector< float > &intersect_y, vector< float > &intersect_z) |
void | ProjectWithSigma (const int &gap, float &x, float &y, float &z, float &sigmaX, float &sigmaY, float &sigmaZ) |
Where does the trajectory of this road intersect a specific gap? | |
void | ProjectNoCurrentGap (const int &gap, float &x, float &y, float &z, float &sigmaX, float &sigmaY, float &sigmaZ, float &quad_x1, float &quad_y1, float &quad_z1, float &quad_x2, float &quad_y2, float &quad_z2) |
Where does the trajectory of this road intersect a specific gap when refit without current gap!!! | |
void | Project (const int &gap, float &x1, float &y1, float &z1, float &x2, float &y2, float &z2) |
Where does the trajectory of this road intersect two surfaces of a specific gap? | |
void | Project (const int &gap, const float zx, const float x0, const float zy, const float y0, float &x1, float &y1, float &z1) |
project with assigned pos and dir | |
void | TransformPhiRToXY (const float &vk, const float &vr, const float &k0, const float &r0, float &vx, float &vy, float &x0, float &y0) const |
Where does the trajectory of this road intersect the reference plane? | |
float | GetVxSign (const float vk) const |
Get sign of vx in TransformPhiRToXY. | |
int | GetIndex () const |
A unique identifier for this road in the current event. | |
int | GetPart () const |
In which part was this road found? | |
int | GetSeg () const |
In which segment was this road found? | |
int | GetGroup () const |
unique index of group this road belongs to | |
int | GetLastGap () const |
Which gap is the last one with hits attached to this road? | |
int | GetNGapsWithHits () const |
How many gaps provide hits attached to this road? | |
int | GetTotalHits () const |
How many hits in all does this road contain? | |
int | GetHitsPerGap (const int &gap) const |
How many hits per gap does this road contain? | |
int | GetMaxHitsPerGap () const |
How many hits were attached in the gap with the most attached hits? | |
bool | HasHitInGap (const int &gap) const |
Does this road contain any hits in the given segment? | |
int | GetNSharedHits (const MucRec3DRoad *road) const |
How many hits do two roads share? | |
int | GetLastGapDelta () const |
Difference between the last gap in the two 1-D roads. | |
int | GetTotalHitsDelta () const |
Difference between the number of hits in the two 1-D roads. | |
int | GetDegreesOfFreedom () const |
How many degrees of freedom in the trajectory fit? | |
float | GetReducedChiSquare () const |
Chi-square parameter (per degree of freedom) of the trajectory fit. | |
float | GetSlopeZX () const |
Get Z-X dimension slope. | |
float | GetInterceptZX () const |
Get Z-X dimension intercept. | |
float | GetSlopeZY () const |
Get Z-Y dimension slope. | |
float | GetInterceptZY () const |
Get Z-Y dimension intercept. | |
MucRecHit * | GetHit (const int &gap) const |
Get a pointer to the first hit attached in a particular gap. | |
MucRec2DRoad * | Get2DRoad (const int &orient=0) const |
Is the intersection of a pair of H and V clusters inside a panel? | |
vector< Identifier > | GetHitsID () const |
Get indices of all hits in the road. | |
void | PrintHitsInfo () |
Print Hits Infomation. | |
Describes a road found in the muon chamber.
A 3Droad is a set of hits in muon chamber strips that we expect to be associated with a single particle traversing the muon chamber. (Roads are found by the MucRecRoadFinder class.) Methods include adding hits, calculating and retrieving the trajectory indicated by the hits, projecting along the trajectory to an arbitrary gap, etc.
Definition at line 35 of file MucRec3DRoad.h.
MucRec3DRoad::MucRec3DRoad | ( | MucRec2DRoad * | road0, |
MucRec2DRoad * | road1 | ||
) |
Constructor.
Definition at line 26 of file MucRec3DRoad.cxx.
MucRec3DRoad::MucRec3DRoad | ( | const MucRec3DRoad & | source | ) |
Copy constructor.
Definition at line 99 of file MucRec3DRoad.cxx.
MucRec3DRoad::~MucRec3DRoad | ( | ) |
Destructor.
Definition at line 111 of file MucRec3DRoad.cxx.
MucRec2DRoad * MucRec3DRoad::Get2DRoad | ( | const int & | orient = 0 | ) | const |
Is the intersection of a pair of H and V clusters inside a panel?
get a pointer to the 2D road in the 3D road.
Definition at line 679 of file MucRec3DRoad.cxx.
Referenced by GetNSharedHits().
int MucRec3DRoad::GetDegreesOfFreedom | ( | ) | const |
How many degrees of freedom in the trajectory fit?
Definition at line 269 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute(), and RecMucTrack::LineFit().
int MucRec3DRoad::GetGroup | ( | ) | const |
unique index of group this road belongs to
Definition at line 154 of file MucRec3DRoad.cxx.
MucRecHit * MucRec3DRoad::GetHit | ( | const int & | gap | ) | const |
Get a pointer to the first hit attached in a particular gap.
Definition at line 321 of file MucRec3DRoad.cxx.
vector< Identifier > MucRec3DRoad::GetHitsID | ( | ) | const |
Get indices of all hits in the road.
Definition at line 691 of file MucRec3DRoad.cxx.
int MucRec3DRoad::GetHitsPerGap | ( | const int & | gap | ) | const |
How many hits per gap does this road contain?
Definition at line 202 of file MucRec3DRoad.cxx.
int MucRec3DRoad::GetIndex | ( | ) | const |
A unique identifier for this road in the current event.
Definition at line 147 of file MucRec3DRoad.cxx.
float MucRec3DRoad::GetInterceptZX | ( | ) | const |
Get Z-X dimension intercept.
Definition at line 300 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute().
float MucRec3DRoad::GetInterceptZY | ( | ) | const |
Get Z-Y dimension intercept.
Definition at line 314 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute().
int MucRec3DRoad::GetLastGap | ( | ) | const |
Which gap is the last one with hits attached to this road?
Definition at line 175 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute().
int MucRec3DRoad::GetLastGapDelta | ( | ) | const |
Difference between the last gap in the two 1-D roads.
Definition at line 255 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute().
int MucRec3DRoad::GetMaxHitsPerGap | ( | ) | const |
How many hits were attached in the gap with the most attached hits?
Definition at line 214 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute().
int MucRec3DRoad::GetNGapsWithHits | ( | ) | const |
How many gaps provide hits attached to this road?
Definition at line 182 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute().
int MucRec3DRoad::GetNSharedHits | ( | const MucRec3DRoad * | road | ) | const |
How many hits do two roads share?
Definition at line 240 of file MucRec3DRoad.cxx.
int MucRec3DRoad::GetPart | ( | ) | const |
In which part was this road found?
Definition at line 161 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute(), and RecMucTrack::LineFit().
float MucRec3DRoad::GetReducedChiSquare | ( | ) | const |
Chi-square parameter (per degree of freedom) of the trajectory fit.
Definition at line 276 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute(), and RecMucTrack::LineFit().
int MucRec3DRoad::GetSeg | ( | ) | const |
In which segment was this road found?
Definition at line 168 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute().
float MucRec3DRoad::GetSlopeZX | ( | ) | const |
Get Z-X dimension slope.
Definition at line 293 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute(), and RecMucTrack::LineFit().
float MucRec3DRoad::GetSlopeZY | ( | ) | const |
Get Z-Y dimension slope.
Definition at line 307 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute(), and RecMucTrack::LineFit().
int MucRec3DRoad::GetTotalHits | ( | ) | const |
How many hits in all does this road contain?
Definition at line 195 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute().
int MucRec3DRoad::GetTotalHitsDelta | ( | ) | const |
Difference between the number of hits in the two 1-D roads.
Definition at line 262 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute().
float MucRec3DRoad::GetVxSign | ( | const float | vk | ) | const |
Get sign of vx in TransformPhiRToXY.
Definition at line 786 of file MucRec3DRoad.cxx.
Referenced by TransformPhiRToXY().
bool MucRec3DRoad::HasHitInGap | ( | const int & | gap | ) | const |
Does this road contain any hits in the given segment?
Definition at line 228 of file MucRec3DRoad.cxx.
MucRec3DRoad & MucRec3DRoad::operator= | ( | const MucRec3DRoad & | orig | ) |
Assignment constructor.
void MucRec3DRoad::PrintHitsInfo | ( | ) |
Print Hits Infomation.
Definition at line 803 of file MucRec3DRoad.cxx.
void MucRec3DRoad::Project | ( | const int & | gap, |
const float | zx, | ||
const float | x0, | ||
const float | zy, | ||
const float | y0, | ||
float & | x1, | ||
float & | y1, | ||
float & | z1 | ||
) |
project with assigned pos and dir
Definition at line 584 of file MucRec3DRoad.cxx.
void MucRec3DRoad::Project | ( | const int & | gap, |
float & | x1, | ||
float & | y1, | ||
float & | z1, | ||
float & | x2, | ||
float & | y2, | ||
float & | z2 | ||
) |
Where does the trajectory of this road intersect two surfaces of a specific gap?
Definition at line 598 of file MucRec3DRoad.cxx.
Referenced by RecMucTrack::LineFit().
void MucRec3DRoad::ProjectNoCurrentGap | ( | const int & | gap, |
float & | x, | ||
float & | y, | ||
float & | z, | ||
float & | sigmaX, | ||
float & | sigmaY, | ||
float & | sigmaZ, | ||
float & | quad_x1, | ||
float & | quad_y1, | ||
float & | quad_z1, | ||
float & | quad_x2, | ||
float & | quad_y2, | ||
float & | quad_z2 | ||
) |
Where does the trajectory of this road intersect a specific gap when refit without current gap!!!
Definition at line 495 of file MucRec3DRoad.cxx.
Referenced by RecMucTrack::LineFit().
vector< Identifier > MucRec3DRoad::ProjectToStrip | ( | const int & | part, |
const int & | gap, | ||
const HepPoint3D & | gPoint, | ||
const Hep3Vector & | gDirection | ||
) |
Definition at line 388 of file MucRec3DRoad.cxx.
Referenced by RecMucTrack::LineFit().
vector< Identifier > MucRec3DRoad::ProjectToStrip | ( | const int & | part, |
const int & | gap, | ||
const HepPoint3D & | gPoint, | ||
const Hep3Vector & | gDirection, | ||
vector< int > & | padID, | ||
vector< float > & | intersect_x, | ||
vector< float > & | intersect_y, | ||
vector< float > & | intersect_z | ||
) |
Definition at line 402 of file MucRec3DRoad.cxx.
void MucRec3DRoad::ProjectWithSigma | ( | const int & | gap, |
float & | x, | ||
float & | y, | ||
float & | z, | ||
float & | sigmaX, | ||
float & | sigmaY, | ||
float & | sigmaZ | ||
) |
Where does the trajectory of this road intersect a specific gap?
Definition at line 417 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute(), RecMucTrack::LineFit(), and PrintHitsInfo().
int MucRec3DRoad::RefitNoCurrentGap | ( | const int & | gap, |
float & | slopeZX, | ||
float & | interceptZX, | ||
float & | slopeZY, | ||
float & | interceptZY | ||
) |
refit the 3D road without the assigned gap
Definition at line 340 of file MucRec3DRoad.cxx.
Referenced by RecMucTrack::LineFit().
void MucRec3DRoad::SetGroup | ( | const int & | Group | ) |
set the group index for this road
Definition at line 126 of file MucRec3DRoad.cxx.
void MucRec3DRoad::SetIndex | ( | const int & | index | ) |
set the index for this road
Definition at line 119 of file MucRec3DRoad.cxx.
void MucRec3DRoad::SetSimpleFitParams | ( | const float & | m_SlopeZX, |
const float & | m_InterceptZX, | ||
const float & | m_SlopeZY, | ||
const float & | m_InterceptZY | ||
) |
set the fit parameters : slope and intercept for XZ and YZ.
Definition at line 133 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute(), and RecMucTrack::LineFit().
void MucRec3DRoad::TransformPhiRToXY | ( | const float & | vk, |
const float & | vr, | ||
const float & | k0, | ||
const float & | r0, | ||
float & | vx, | ||
float & | vy, | ||
float & | x0, | ||
float & | y0 | ||
) | const |
Where does the trajectory of this road intersect the reference plane?
Where does the trajectory of this road intersect a z=const plane? Transform the Phi, ZR cord. to ZX, ZY cord.
Definition at line 720 of file MucRec3DRoad.cxx.
Referenced by MucRecRoadFinder::execute(), RecMucTrack::LineFit(), Project(), ProjectNoCurrentGap(), ProjectWithSigma(), and RefitNoCurrentGap().