BOSS 7.0.6
BESIII Offline Software System
Loading...
Searching...
No Matches
RecMdcDedxHit.h
Go to the documentation of this file.
1/*
2 * @class : MdcDedx
3 *
4 * this class models "dE/dx hit" used in Mdc Reconstruction
5 *
6 * @author: xcao
7 *
8 * ********************************************************/
9
10#ifndef RECMDCDEDXHIT_H
11#define RECMDCDEDXHIT_H
12#include "GaudiKernel/ContainedObject.h"
13#include "GaudiKernel/SmartRef.h"
14#include "GaudiKernel/ObjectVector.h"
17
18#include "RecMdcKalHelixSeg.h"
19#include "RecMdcHit.h"
20
21extern const CLID& CLID_RecMdcDedxHit;
22class RecMdcDedx;
23
24class RecMdcDedxHit : virtual public ContainedObject {
25
26 public:
27 virtual const CLID& clID() const {
29 }
30
31 static const CLID& classID() {
32 return CLID_RecMdcDedxHit;
33 }
34
35
36 //ctor and dector
38 RecMdcDedxHit(const RecMdcDedxHit& recdedxhit );
40 // is this hit grouped to any track?
41 bool isGrouped(void);
42 bool isMdcHitValid() {return (m_mdcHit!=0);}
43 bool isMdcKalHelixSegValid() {return (m_mdcKalHelixSeg!=0);}
44
45 //extractors
46
47 RecMdcKalHelixSeg* getMdcKalHelixSeg() { return m_mdcKalHelixSeg; }
48 RecMdcHit* getMdcHit() {return m_mdcHit;}
49
50 const int getTrkId(void) const { return m_trkid; }
51 const int getFlagLR(void) const { return m_lr; }
52 const double getDedx(void) const {return m_dedx; }
53 double getPathLength(void) const { return m_pathlength; }
54 const Identifier getMdcId(void) const { return m_mdcid; }
55
56 //modifiers
57 void setMdcKalHelixSeg(const RecMdcKalHelixSeg* mdcKalHelixSeg) {m_mdcKalHelixSeg = mdcKalHelixSeg;}
58 void setMdcHit(const RecMdcHit* mdcHit) {m_mdcHit = mdcHit;}
59
60 void setTrkId(int trkid) { m_trkid = trkid; }
61 void setFlagLR(int lr) { m_lr = lr; }
62 void setDedx(double dedx ) {m_dedx = dedx; }
63 void setPathLength(double pathlength) { m_pathlength = pathlength; }
64 void setMdcId( Identifier mdcid ) { m_mdcid = mdcid; }
65
66 private:
67 //RecMdcKalHelixSeg m_kalHelixSeg;
68 int m_trkid; // id of track containing this hit,if this hit belongs to no track, set as -1;
69 int m_lr; // flag indicating left or right 0:left 1:right 2:ambig
70 double m_pathlength; //path length of track cross a cell
71 double m_dedx;
72 Identifier m_mdcid; // MDC identifier
73
74 SmartRef<RecMdcKalHelixSeg> m_mdcKalHelixSeg;
75 SmartRef<RecMdcHit> m_mdcHit;
76};
77
78typedef ObjectVector<RecMdcDedxHit> RecMdcDedxHitCol;
79
80#endif
81
const CLID & CLID_RecMdcDedxHit
Definition: EventModel.cxx:307
ObjectVector< RecMdcDedxHit > RecMdcDedxHitCol
Definition: RecMdcDedxHit.h:78
const double getDedx(void) const
Definition: RecMdcDedxHit.h:52
void setMdcId(Identifier mdcid)
Definition: RecMdcDedxHit.h:64
RecMdcKalHelixSeg * getMdcKalHelixSeg()
Definition: RecMdcDedxHit.h:47
const int getTrkId(void) const
Definition: RecMdcDedxHit.h:50
void setDedx(double dedx)
Definition: RecMdcDedxHit.h:62
void setFlagLR(int lr)
Definition: RecMdcDedxHit.h:61
bool isMdcKalHelixSegValid()
Definition: RecMdcDedxHit.h:43
void setMdcKalHelixSeg(const RecMdcKalHelixSeg *mdcKalHelixSeg)
Definition: RecMdcDedxHit.h:57
const int getFlagLR(void) const
Definition: RecMdcDedxHit.h:51
void setTrkId(int trkid)
Definition: RecMdcDedxHit.h:60
static const CLID & classID()
Definition: RecMdcDedxHit.h:31
double getPathLength(void) const
Definition: RecMdcDedxHit.h:53
void setMdcHit(const RecMdcHit *mdcHit)
Definition: RecMdcDedxHit.h:58
bool isMdcHitValid()
Definition: RecMdcDedxHit.h:42
void setPathLength(double pathlength)
Definition: RecMdcDedxHit.h:63
bool isGrouped(void)
RecMdcHit * getMdcHit()
Definition: RecMdcDedxHit.h:48
virtual const CLID & clID() const
Definition: RecMdcDedxHit.h:27
const Identifier getMdcId(void) const
Definition: RecMdcDedxHit.h:54