CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
MucRecHit Class Reference

#include <MucRecHit.h>

+ Inheritance diagram for MucRecHit:

Public Member Functions

 MucRecHit ()
 Constructor.
 
 MucRecHit (const Identifier &id)
 Constructor.
 
 MucRecHit (const int part=-1, const int seg=-1, const int gap=-1, const int strip=-1)
 Constructor.
 
 MucRecHit (const MucRecHit &source)
 Copy constructor.
 
MucRecHitoperator= (const MucRecHit &orig)
 Assignment operator.
 
 ~MucRecHit ()
 Destructor.
 
virtual const CLID & clID () const
 
Identifier GetID () const
 Get soft identifier of this hit.
 
int Part () const
 Get Part.
 
int Seg () const
 Get Seg.
 
int Gap () const
 Get Gap.
 
int Strip () const
 Get Strip.
 
MucGeoGapGetGap () const
 Get geometry data for the gap containing this hit.
 
MucGeoStripGetStrip () const
 Get geometry data for the strip containing this hit.
 
Hep3Vector GetCenterPos () const
 Get Center position of the strip (global coords).
 
Hep3Vector GetCenterSigma () const
 Get Center position uncertainty of the strip (global coords).
 
void SetHitMode (int recmode)
 
int GetHitMode () const
 
void SetHitSeed (int seed)
 
int HitIsSeed () const
 
void SetPadID (int padID)
 
void SetIntersectX (float x)
 
void SetIntersectY (float y)
 
void SetIntersectZ (float z)
 
int GetPadID () const
 
float GetIntersectX () const
 
float GetIntersectY () const
 
float GetIntersectZ () const
 

Static Public Member Functions

static const CLID & classID ()
 

Detailed Description

Definition at line 37 of file MucRecHit.h.

Constructor & Destructor Documentation

◆ MucRecHit() [1/4]

MucRecHit::MucRecHit ( )
inline

Constructor.

Definition at line 42 of file MucRecHit.h.

42{;}

◆ MucRecHit() [2/4]

MucRecHit::MucRecHit ( const Identifier id)

Constructor.

Definition at line 17 of file MucRecHit.cxx.

18 : m_MucID(id)
19{
20 m_pMucGeoGap = MucGeoGeneral::Instance()->GetGap(m_MucID);
21 m_pMucGeoStrip = MucGeoGeneral::Instance()->GetStrip(m_MucID);
22 m_IsSeed = false;
23 if (m_pMucGeoGap && m_pMucGeoStrip) {
24 float x, y, z, sx, sy, sz;
25
26 m_pMucGeoStrip->GetCenterPos(x, y, z);
27 m_pMucGeoStrip->GetCenterSigma(sx, sy, sz);
28 HepPoint3D pos(x, y, z);
29 HepPoint3D sigma(sx, sy, sz);
30 m_CenterPos = m_pMucGeoGap->TransformToGlobal(pos);
31 m_CenterSigma = m_pMucGeoGap->RotateToGlobal(sigma);
32 }
33 else {
34 cout << "MucRecHit::MucRecHit(const Identifier&), gap or strip pointer lost" << endl;
35 }
36}
Double_t x[10]
Hep3Vector RotateToGlobal(const Hep3Vector pVect) const
Rotate a vector from gap coordinate to global coordinate.
Definition: MucGeoGap.cxx:606
HepPoint3D TransformToGlobal(const HepPoint3D pPoint) const
Transform a point from gap coordinate to global coordinate.
Definition: MucGeoGap.cxx:620
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).
MucGeoGap * GetGap(const int part, const int seg, const int gap) const
Get a pointer to the gap identified by (part,seg,gap).
static MucGeoGeneral * Instance()
Get a pointer to the single instance of MucGeoGeneral.
void GetCenterPos(float &x, float &y, float &z) const
Get center position of this strip (in the gap coordinate system).
Definition: MucGeoStrip.cxx:40
void GetCenterSigma(float &sx, float &sy, float &sz)
Get uncertainty in the position of this strip (in the gap coordinate system).
Definition: MucGeoStrip.cxx:51

◆ MucRecHit() [3/4]

MucRecHit::MucRecHit ( const int  part = -1,
const int  seg = -1,
const int  gap = -1,
const int  strip = -1 
)

Constructor.

Definition at line 38 of file MucRecHit.cxx.

42{
43 m_MucID = MucID::channel_id(part, seg, gap, strip);
44 //cout << "part " << part << " seg " << seg << " gap " << gap << " strip " << strip << endl;
45
46 m_pMucGeoGap = MucGeoGeneral::Instance()->GetGap(m_MucID);
47 m_pMucGeoStrip = MucGeoGeneral::Instance()->GetStrip(m_MucID);
48 m_recmode = -1;
49 m_IsSeed = false;
50 //m_pMucGeoGap = MucGeoGeneral::Instance()->GetGap(part, seg, gap);
51 //m_pMucGeoStrip = MucGeoGeneral::Instance()->GetStrip(part, seg, gap, strip);
52 if (m_pMucGeoGap && m_pMucGeoStrip) {
53 float x, y, z, sx, sy, sz;
54
55 m_pMucGeoStrip->GetCenterPos(x, y, z);
56 m_pMucGeoStrip->GetCenterSigma(sx, sy, sz);
57 HepPoint3D pos(x, y, z);
58 HepPoint3D sigma(sx, sy, sz);
59 m_CenterPos = m_pMucGeoGap->TransformToGlobal(pos);
60 //m_CenterSigma = m_pMucGeoGap->RotateToGlobal(sigma); //comment out at 2006.11.30
61 m_CenterSigma = sigma; // do not transform
62 }
63 else {
64 cout << "MucRecHit::MucRecHit(), gap or strip pointer lost" << endl;
65 }
66
67}
static Identifier channel_id(int barrel_ec, int segment, int layer, int channel)
For a single crystal.
Definition: MucID.cxx:135

◆ MucRecHit() [4/4]

MucRecHit::MucRecHit ( const MucRecHit source)

Copy constructor.

Definition at line 70 of file MucRecHit.cxx.

71 : m_MucID(source.m_MucID),
72 m_pMucGeoGap(source.m_pMucGeoGap),
73 m_pMucGeoStrip(source.m_pMucGeoStrip),
74 m_CenterPos(source.m_CenterPos),
75 m_CenterSigma(source.m_CenterSigma)
76{ }

◆ ~MucRecHit()

MucRecHit::~MucRecHit ( )

Destructor.

Definition at line 94 of file MucRecHit.cxx.

95{
96 // No need to delete MucGeo pointer objects; the allocation/deallocation
97 // is done elsewhere.
98 m_pMucGeoGap = 0L;
99 m_pMucGeoStrip = 0L;
100}

Member Function Documentation

◆ classID()

static const CLID & MucRecHit::classID ( )
inlinestatic

Definition at line 63 of file MucRecHit.h.

63{ return CLID_MucRecHit; }
const CLID & CLID_MucRecHit
Definition: EventModel.cxx:391

Referenced by clID().

◆ clID()

virtual const CLID & MucRecHit::clID ( ) const
inlinevirtual

Definition at line 62 of file MucRecHit.h.

62{ return MucRecHit::classID(); }
static const CLID & classID()
Definition: MucRecHit.h:63

◆ Gap()

◆ GetCenterPos()

Hep3Vector MucRecHit::GetCenterPos ( ) const

Get Center position of the strip (global coords).

Definition at line 104 of file MucRecHit.cxx.

105{
106 Hep3Vector x(m_CenterPos.x(),
107 m_CenterPos.y(),
108 m_CenterPos.z());
109 return x;
110}

Referenced by MucRecTrkExt::execute(), ExtMucKal::GetDistance(), MucRec2DRoad::GetHitDistance(), RecMucTrack::GetHitDistance(), and RecMucTrack::GetHitDistance2().

◆ GetCenterSigma()

Hep3Vector MucRecHit::GetCenterSigma ( ) const

Get Center position uncertainty of the strip (global coords).

Definition at line 114 of file MucRecHit.cxx.

115{
116 Hep3Vector s(m_CenterSigma.x(),
117 m_CenterSigma.y(),
118 m_CenterSigma.z());
119 return s;
120}
XmlRpcServer s
Definition: HelloServer.cpp:11

Referenced by MucRec3DRoad::MucRec3DRoad().

◆ GetGap()

MucGeoGap * MucRecHit::GetGap ( ) const
inline

Get geometry data for the gap containing this hit.

Definition at line 83 of file MucRecHit.h.

83{ return m_pMucGeoGap; }

Referenced by MucRecRoadFinder::execute(), ExtMucKal::ExtMucFilter(), ExtMucKal::GetDistance(), MucRec2DRoad::GetHitDistance(), RecMucTrack::GetHitDistance(), RecMucTrack::GetHitDistance2(), and ExtMucKal::TrackHit().

◆ GetHitMode()

int MucRecHit::GetHitMode ( ) const
inline

◆ GetID()

Identifier MucRecHit::GetID ( ) const
inline

Get soft identifier of this hit.

Definition at line 68 of file MucRecHit.h.

68{ return m_MucID; }

Referenced by MucRecHitContainer::GetHitByIdentifier(), MucRec2DRoad::GetNSharedHits(), RecMucTrack::GetNSharedHits(), and MucRec2DRoad::HasHit().

◆ GetIntersectX()

float MucRecHit::GetIntersectX ( ) const
inline

Definition at line 108 of file MucRecHit.h.

108{return m_intersect_x;}

Referenced by MucCalibMgr::ReadEvent().

◆ GetIntersectY()

float MucRecHit::GetIntersectY ( ) const
inline

Definition at line 109 of file MucRecHit.h.

109{return m_intersect_y;}

Referenced by MucCalibMgr::ReadEvent().

◆ GetIntersectZ()

float MucRecHit::GetIntersectZ ( ) const
inline

Definition at line 110 of file MucRecHit.h.

110{return m_intersect_z;}

Referenced by MucCalibMgr::ReadEvent().

◆ GetPadID()

int MucRecHit::GetPadID ( ) const
inline

Definition at line 107 of file MucRecHit.h.

107{return m_padID;}

Referenced by MucCalibMgr::ReadEvent().

◆ GetStrip()

MucGeoStrip * MucRecHit::GetStrip ( ) const
inline

Get geometry data for the strip containing this hit.

Definition at line 86 of file MucRecHit.h.

86{ return m_pMucGeoStrip; }

Referenced by ExtMucKal::ExtMucFilter(), and ExtMucKal::TrackHit().

◆ HitIsSeed()

int MucRecHit::HitIsSeed ( ) const
inline

Definition at line 100 of file MucRecHit.h.

100{return m_IsSeed;}

Referenced by MucCalibMgr::ReadEvent().

◆ operator=()

MucRecHit & MucRecHit::operator= ( const MucRecHit orig)

Assignment operator.

Definition at line 80 of file MucRecHit.cxx.

81{
82 // Assignment operator.
83 if (this != &orig) { // Watch out for self-assignment!
84 m_MucID = orig.m_MucID;
85 m_pMucGeoGap = orig.m_pMucGeoGap;
86 m_pMucGeoStrip = orig.m_pMucGeoStrip;
87 m_CenterPos = orig.m_CenterPos;
88 m_CenterSigma = orig.m_CenterSigma;
89 }
90 return *this;
91}

◆ Part()

◆ Seg()

int MucRecHit::Seg ( ) const
inline

Get Seg.

Definition at line 74 of file MucRecHit.h.

74{ return MucID::seg(m_MucID); }
static int seg(const Identifier &id)
Definition: MucID.cxx:56

Referenced by RecMucTrack::CalculateInsct(), DQA_MUC::execute(), MucRecRoadFinder::execute(), MucRecTrkExt::execute(), ExtMucKal::ExtMucFilter(), ExtMucKal::GetHitGap(), and MucCalibMgr::ReadEvent().

◆ SetHitMode()

void MucRecHit::SetHitMode ( int  recmode)
inline

Definition at line 94 of file MucRecHit.h.

94{ m_recmode = recmode;}

Referenced by MucRecRoadFinder::execute(), MucRecTrkExt::execute(), MucRecRoadFinder::TrackFinding(), and MucRecTrkExt::TrackFinding().

◆ SetHitSeed()

void MucRecHit::SetHitSeed ( int  seed)
inline

Definition at line 98 of file MucRecHit.h.

98{m_IsSeed = seed;}

Referenced by MucRecRoadFinder::execute().

◆ SetIntersectX()

void MucRecHit::SetIntersectX ( float  x)
inline

Definition at line 103 of file MucRecHit.h.

103{m_intersect_x = x;}

Referenced by RecMucTrack::LineFit().

◆ SetIntersectY()

void MucRecHit::SetIntersectY ( float  y)
inline

Definition at line 104 of file MucRecHit.h.

104{m_intersect_y = y;}

Referenced by RecMucTrack::LineFit().

◆ SetIntersectZ()

void MucRecHit::SetIntersectZ ( float  z)
inline

Definition at line 105 of file MucRecHit.h.

105{m_intersect_z = z;}

Referenced by RecMucTrack::LineFit().

◆ SetPadID()

void MucRecHit::SetPadID ( int  padID)
inline

Definition at line 102 of file MucRecHit.h.

102{m_padID = padID;}

Referenced by RecMucTrack::LineFit().

◆ Strip()

int MucRecHit::Strip ( ) const
inline

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