BOSS 7.0.6
BESIII Offline Software System
|
#include <MucGeoGeneral.h>
Public Member Functions | |
MucGeoGeneral () | |
Constructor. | |
MucGeoGeneral & | operator= (const MucGeoGeneral &orig) |
Assignment constructor. | |
MucGeoGeneral (const MucGeoGeneral &orig) | |
Copy constructor. | |
~MucGeoGeneral () | |
Destructor. | |
void | Init () |
Initialize the instance of MucGeoGeneral. | |
void | InitFromDatabase () |
Initialize from database. | |
void | InitFromASCII () |
Initialize form ASCII. | |
void | InitFromXML () |
Initialize from xml. | |
void | Destroy () |
Destroy the single instance of MucGeoGeneral. | |
MucGeoGap * | GetGap (const int part, const int seg, const int gap) const |
Get a pointer to the gap identified by (part,seg,gap). | |
MucGeoGap * | GetGap (const Identifier id) const |
Get a pointer to the gap identified by Indentifier. | |
MucGeoStrip * | GetStrip (const int part, const int seg, const int gap, const int strip) const |
Get a pointer to the strip identified by (part,seg,gap,strip). | |
MucGeoStrip * | GetStrip (const Identifier id) const |
Get a pointer to the strip identified by Indentifier. | |
int | GetStripNumInGap (const int part, const int seg, const int gap) |
int | GetStripNumTotal () |
Get total number of strips. | |
vector< Identifier > | FindIntersectGaps (const int part, const int gap, const HepPoint3D gPoint, const Hep3Vector gDirection) |
vector< Identifier > | FindIntersectStrips (const int part, const int gap, const HepPoint3D gPoint, const Hep3Vector gDirection) |
vector< Identifier > | FindIntersectStrips (const int part, const int gap, const HepPoint3D gPoint, const Hep3Vector gDirection, vector< int > &padID, vector< float > &intersection_x, vector< float > &intersection_y, vector< float > &intersection_z) |
vector< HepPoint3D > | FindIntersections (const int part, const int gap, const HepPoint3D gPoint, const Hep3Vector gDirection) |
void | FindIntersection (const int part, const int seg, const int gap, const float vx, const float vy, const float vz, const float x0, const float y0, const float z0, const float sigmaVx, const float sigmaVy, const float sigmaVz, const float sigmaX0, const float sigmaY0, const float sigmaZ0, float &x, float &y, float &z, float &sigmaX, float &sigmaY, float &sigmaZ) |
void | FindIntersectionQuadLocal (const int part, const int seg, const int gap, const float a, const float b, const float c, const int whichhalf, float &x1, float &y1, float &z1, float &x2, float &y2, float &z2, float &sigmaX, float &sigmaY, float &sigmaZ) |
void | FindIntersection (const int part, const int seg, const int gap, const float vy, const float x0, const float y0, const float z0, const float a, const float b, const float c, const int whichhalf, const float sigmaVx, const float sigmaVy, const float sigmaVz, const float sigmaX0, const float sigmaY0, const float sigmaZ0, float &x1, float &y1, float &z1, float &x2, float &y2, float &z2, float &sigmaX, float &sigmaY, float &sigmaZ) |
void | FindIntersectionSurface (const int part, const int seg, const int gap, const float vx, const float vy, const float vz, const float x0, const float y0, const float z0, const float sigmaVx, const float sigmaVy, const float sigmaVz, const float sigmaX0, const float sigmaY0, const float sigmaZ0, float &x1, float &y1, float &z1, float &x2, float &y2, float &z2, float &sigmaX1, float &sigmaY1, float &sigmaZ1, float &sigmaX2, float &sigmaY2, float &sigmaZ2) |
void | FindIntersectionSurface (const int part, const int seg, const int gap, const float vy, const float x0, const float y0, const float z0, const float a, const float b, const float c, const int whichhalf, const float sigmaVx, const float sigmaVy, const float sigmaVz, const float sigmaX0, const float sigmaY0, const float sigmaZ0, float &x1, float &y1, float &z1, float &x2, float &y2, float &z2, float &sigmaX, float &sigmaY, float &sigmaZ) |
void | Clear () |
Clear the fgpMucGeoGap and fgpMucGeoStrip vector containers. | |
Static Public Member Functions | |
static MucGeoGeneral * | Instance () |
Get a pointer to the single instance of MucGeoGeneral. | |
Class MucGeoGeneral contains all of the objects necessary to describe the muon chamber geometry.
Definition at line 50 of file MucGeoGeneral.h.
MucGeoGeneral::MucGeoGeneral | ( | ) |
Constructor.
Definition at line 41 of file MucGeoGeneral.cxx.
Referenced by Instance().
MucGeoGeneral::MucGeoGeneral | ( | const MucGeoGeneral & | orig | ) |
Copy constructor.
MucGeoGeneral::~MucGeoGeneral | ( | ) |
Destructor.
Definition at line 46 of file MucGeoGeneral.cxx.
void MucGeoGeneral::Clear | ( | ) |
Clear the fgpMucGeoGap and fgpMucGeoStrip vector containers.
void MucGeoGeneral::Destroy | ( | ) |
Destroy the single instance of MucGeoGeneral.
vector< Identifier > MucGeoGeneral::FindIntersectGaps | ( | const int | part, |
const int | gap, | ||
const HepPoint3D | gPoint, | ||
const Hep3Vector | gDirection | ||
) |
Find the intersect gap of a trajectory with the given part and gap. The trajectory is given by the position and direction in global coordinate.
Definition at line 507 of file MucGeoGeneral.cxx.
Referenced by FindIntersectStrips(), and main().
void MucGeoGeneral::FindIntersection | ( | const int | part, |
const int | seg, | ||
const int | gap, | ||
const float | vx, | ||
const float | vy, | ||
const float | vz, | ||
const float | x0, | ||
const float | y0, | ||
const float | z0, | ||
const float | sigmaVx, | ||
const float | sigmaVy, | ||
const float | sigmaVz, | ||
const float | sigmaX0, | ||
const float | sigmaY0, | ||
const float | sigmaZ0, | ||
float & | x, | ||
float & | y, | ||
float & | z, | ||
float & | sigmaX, | ||
float & | sigmaY, | ||
float & | sigmaZ | ||
) |
Find the intersection position of a trajectory with the given gap. The trajectory is given by unit vector (vx,vy,vz) and intercept (x0,y0,z0) in global coordinates, such that (x-x0)/vx = (y-y0)/vy = (z-z0)/vz . If more than one seg lies along the trajectory, take the first one intersect with the trajectory.
Definition at line 783 of file MucGeoGeneral.cxx.
Referenced by MucRec2DRoad::GetSearchWindowSize(), MucRec3DRoad::Project(), MucRec2DRoad::Project(), MucRec3DRoad::ProjectNoCurrentGap(), and MucRec3DRoad::ProjectWithSigma().
void MucGeoGeneral::FindIntersection | ( | const int | part, |
const int | seg, | ||
const int | gap, | ||
const float | vy, | ||
const float | x0, | ||
const float | y0, | ||
const float | z0, | ||
const float | a, | ||
const float | b, | ||
const float | c, | ||
const int | whichhalf, | ||
const float | sigmaVx, | ||
const float | sigmaVy, | ||
const float | sigmaVz, | ||
const float | sigmaX0, | ||
const float | sigmaY0, | ||
const float | sigmaZ0, | ||
float & | x1, | ||
float & | y1, | ||
float & | z1, | ||
float & | x2, | ||
float & | y2, | ||
float & | z2, | ||
float & | sigmaX, | ||
float & | sigmaY, | ||
float & | sigmaZ | ||
) |
Find the intersection position of a trajectory with the given gap. The trajectory is given by a parabola and a line in global coordinates, If more than one seg lies along the trajectory, take the first one whichhalf help to judge which intersection position is better, x1,y1,z1 return the better one . now reserver x2,y2,z2 temp.
Definition at line 977 of file MucGeoGeneral.cxx.
void MucGeoGeneral::FindIntersectionQuadLocal | ( | const int | part, |
const int | seg, | ||
const int | gap, | ||
const float | a, | ||
const float | b, | ||
const float | c, | ||
const int | whichhalf, | ||
float & | x1, | ||
float & | y1, | ||
float & | z1, | ||
float & | x2, | ||
float & | y2, | ||
float & | z2, | ||
float & | sigmaX, | ||
float & | sigmaY, | ||
float & | sigmaZ | ||
) |
Definition at line 887 of file MucGeoGeneral.cxx.
Referenced by MucRec3DRoad::ProjectNoCurrentGap().
vector< HepPoint3D > MucGeoGeneral::FindIntersections | ( | const int | part, |
const int | gap, | ||
const HepPoint3D | gPoint, | ||
const Hep3Vector | gDirection | ||
) |
Find the intersection position of a trajectory with the given part and gap. The trajectory is given by the position and direction in global coordinate.
Definition at line 731 of file MucGeoGeneral.cxx.
Referenced by main(), and RecMucTrack::Project().
void MucGeoGeneral::FindIntersectionSurface | ( | const int | part, |
const int | seg, | ||
const int | gap, | ||
const float | vx, | ||
const float | vy, | ||
const float | vz, | ||
const float | x0, | ||
const float | y0, | ||
const float | z0, | ||
const float | sigmaVx, | ||
const float | sigmaVy, | ||
const float | sigmaVz, | ||
const float | sigmaX0, | ||
const float | sigmaY0, | ||
const float | sigmaZ0, | ||
float & | x1, | ||
float & | y1, | ||
float & | z1, | ||
float & | x2, | ||
float & | y2, | ||
float & | z2, | ||
float & | sigmaX1, | ||
float & | sigmaY1, | ||
float & | sigmaZ1, | ||
float & | sigmaX2, | ||
float & | sigmaY2, | ||
float & | sigmaZ2 | ||
) |
Definition at line 1085 of file MucGeoGeneral.cxx.
Referenced by MucRec3DRoad::Project().
void MucGeoGeneral::FindIntersectionSurface | ( | const int | part, |
const int | seg, | ||
const int | gap, | ||
const float | vy, | ||
const float | x0, | ||
const float | y0, | ||
const float | z0, | ||
const float | a, | ||
const float | b, | ||
const float | c, | ||
const int | whichhalf, | ||
const float | sigmaVx, | ||
const float | sigmaVy, | ||
const float | sigmaVz, | ||
const float | sigmaX0, | ||
const float | sigmaY0, | ||
const float | sigmaZ0, | ||
float & | x1, | ||
float & | y1, | ||
float & | z1, | ||
float & | x2, | ||
float & | y2, | ||
float & | z2, | ||
float & | sigmaX, | ||
float & | sigmaY, | ||
float & | sigmaZ | ||
) |
Find the intersection position of a trajectory with two surfaces of the given gap. The trajectory is given by a parabola and a line in global coordinates, If more than one seg lies along the trajectory, take the first one whichhalf help to judge which intersection position is better,and return the better one only. x1,y1,z1 is the intersection position with inner surface and x2,y2,z2 be the outer!
Definition at line 1188 of file MucGeoGeneral.cxx.
vector< Identifier > MucGeoGeneral::FindIntersectStrips | ( | const int | part, |
const int | gap, | ||
const HepPoint3D | gPoint, | ||
const Hep3Vector | gDirection | ||
) |
Find the intersect strip of a trajectory with the given part and gap. The trajectory is given by the position and direction in global coordinate.
Definition at line 562 of file MucGeoGeneral.cxx.
Referenced by main(), and MucRec3DRoad::ProjectToStrip().
vector< Identifier > MucGeoGeneral::FindIntersectStrips | ( | const int | part, |
const int | gap, | ||
const HepPoint3D | gPoint, | ||
const Hep3Vector | gDirection, | ||
vector< int > & | padID, | ||
vector< float > & | intersection_x, | ||
vector< float > & | intersection_y, | ||
vector< float > & | intersection_z | ||
) |
Definition at line 631 of file MucGeoGeneral.cxx.
MucGeoGap * MucGeoGeneral::GetGap | ( | const Identifier | id | ) | const |
Get a pointer to the gap identified by Indentifier.
Definition at line 461 of file MucGeoGeneral.cxx.
MucGeoGap * MucGeoGeneral::GetGap | ( | const int | part, |
const int | seg, | ||
const int | gap | ||
) | const |
Get a pointer to the gap identified by (part,seg,gap).
Definition at line 450 of file MucGeoGeneral.cxx.
Referenced by RecMucTrack::CalculateInsct(), RecMucTrack::ComputeDepth(), RecMucTrack::ComputeDistanceMatch(), MucRecTrkExt::execute(), FindIntersectGaps(), FindIntersection(), FindIntersectionQuadLocal(), FindIntersections(), FindIntersectionSurface(), FindIntersectStrips(), MucGeomSvc::GetGap(), MucRecLineFit::LineFit(), ExtMucKal::MucKalIniti(), MucRecHit::MucRecHit(), MucRecRoadFinder::TrackFinding(), MucRecTrkExt::TrackFinding(), and ExtSteppingAction::UserSteppingAction().
MucGeoStrip * MucGeoGeneral::GetStrip | ( | const Identifier | id | ) | const |
Get a pointer to the strip identified by Indentifier.
Definition at line 485 of file MucGeoGeneral.cxx.
MucGeoStrip * MucGeoGeneral::GetStrip | ( | const int | part, |
const int | seg, | ||
const int | gap, | ||
const int | strip | ||
) | const |
Get a pointer to the strip identified by (part,seg,gap,strip).
Definition at line 473 of file MucGeoGeneral.cxx.
Referenced by MucGeomSvc::GetStrip(), main(), and MucRecHit::MucRecHit().
|
inline |
Definition at line 96 of file MucGeoGeneral.h.
Referenced by GetStripNumTotal().
int MucGeoGeneral::GetStripNumTotal | ( | ) |
Get total number of strips.
Definition at line 492 of file MucGeoGeneral.cxx.
Referenced by MucGeomSvc::Dump().
void MucGeoGeneral::Init | ( | ) |
Initialize the instance of MucGeoGeneral.
Definition at line 80 of file MucGeoGeneral.cxx.
Referenced by main().
void MucGeoGeneral::InitFromASCII | ( | ) |
Initialize form ASCII.
Definition at line 162 of file MucGeoGeneral.cxx.
void MucGeoGeneral::InitFromDatabase | ( | ) |
Initialize from database.
void MucGeoGeneral::InitFromXML | ( | ) |
Initialize from xml.
Definition at line 92 of file MucGeoGeneral.cxx.
|
static |
Get a pointer to the single instance of MucGeoGeneral.
Definition at line 439 of file MucGeoGeneral.cxx.
Referenced by RecMucTrack::CalculateInsct(), RecMucTrack::ComputeDepth(), RecMucTrack::ComputeDistanceMatch(), MucRecTrkExt::execute(), MucRec2DRoad::GetSearchWindowSize(), MucRecLineFit::LineFit(), main(), ExtMucKal::MucKalIniti(), MucRecHit::MucRecHit(), MucRec3DRoad::Project(), MucRec2DRoad::Project(), RecMucTrack::Project(), MucRec3DRoad::ProjectNoCurrentGap(), MucRec3DRoad::ProjectToStrip(), MucRec3DRoad::ProjectWithSigma(), MucRecRoadFinder::TrackFinding(), MucRecTrkExt::TrackFinding(), and ExtSteppingAction::UserSteppingAction().
MucGeoGeneral & MucGeoGeneral::operator= | ( | const MucGeoGeneral & | orig | ) |
Assignment constructor.
Definition at line 67 of file MucGeoGeneral.cxx.