CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Mdc/MdcRecEvent/MdcRecEvent-00-06-04/MdcRecEvent/RecMdcHit.h
Go to the documentation of this file.
1/*
2 *
3 * this class models "Hit" used in Mdc Reconstruction
4 *
5 *
6 * ********************************************************/
7
8#ifndef RECMDCHIT_H
9#define RECMDCHIT_H
10#include "GaudiKernel/ContainedObject.h"
11#include "GaudiKernel/SmartRef.h"
12#include "GaudiKernel/ObjectVector.h"
13#include "MdcGeomSvc/MdcGeoWire.h"
14#include "EventModel/EventModel.h"
15#include "Identifier/Identifier.h"
16
17
18extern const CLID& CLID_RecMdcHit;
19
20class RecMdcTrack;
21
22class RecMdcHit : virtual public ContainedObject {
23
24 public:
25 virtual const CLID& clID() const {
26 return RecMdcHit::classID();
27 }
28
29 static const CLID& classID() {
30 return CLID_RecMdcHit;
31 }
32
33 //ctor and dector
35 RecMdcHit(const RecMdcHit& rechit );
37 // is this hit grouped to any track?
38 bool isGrouped(void);
39 //extractors
40 const int getId(void) const { return m_id; }
41 const int getTrkId(void) const { return m_trkid; }
42 const double getDriftDistLeft(void) const { return m_ddl; }
43 const double getDriftDistRight(void) const { return m_ddr ; }
44 const double getErrDriftDistLeft(void) const { return m_erddl; }
45 const double getErrDriftDistRight(void) const { return m_erddr; }
46 const double getChisqAdd(void) const { return m_pChisq;}
47 const int getFlagLR(void) const { return m_lr; }
48 const int getStat(void) const { return m_stat; }
49 const Identifier getMdcId(void) const { return m_mdcid; }
50 const double getTdc(void) const { return m_tdc; }
51 const double getAdc(void) const { return m_adc; }
52 const double getDriftT(void) const { return m_driftT;}
53 const double getDoca(void) const { return m_doca; }
54 const double getEntra(void) const { return m_entra; }
55 const double getZhit(void) const { return m_zhit; }
56 const double getFltLen(void) const { return m_fltLen;}
57//modifiers
58 void setId(int id) { m_id = id; }
59 void setTrkId(int trkid) { m_trkid = trkid; }
60 void setDriftDistLeft(double ddl) { m_ddl = ddl; }
61 void setDriftDistRight(double ddr) { m_ddr = ddr ; }
62 void setErrDriftDistLeft(double erddl) { m_erddl = erddl; }
63 void setErrDriftDistRight(double erddr) { m_erddr = erddr; }
64 void setChisqAdd(double pChisq) { m_pChisq = pChisq;}
65 void setFlagLR(int lr) { m_lr = lr; }
66 void setStat(int stat) { m_stat = stat; }
67 void setMdcId( Identifier mdcid ) { m_mdcid = mdcid; }
68 void setTdc(double tdc) { m_tdc = tdc; }
69 void setAdc(double adc) { m_adc = adc; }
70 void setDriftT(double driftT) { m_driftT = driftT;}
71 void setDoca(double doca) { m_doca = doca; }
72 void setEntra(double entra) { m_entra = entra; }
73 void setZhit(double zhit) { m_zhit = zhit; }
74 void setFltLen(double fltLen) { m_fltLen = fltLen;}
75
76
77 private:
78
79 int m_id; // the id of thie hit
80 int m_trkid; // id of track containing this hit,if this hit
81 // belongs to no track, set as -1;
82 double m_ddl; // drift distance left
83 double m_ddr; // drift distance right
84 double m_erddl; // error of drift distance left
85 double m_erddr; // error of drift distance right
86 double m_pChisq; // contribution to chisquare
87 int m_lr; // flag indicating left or right 0:left 1:right 2:ambig
88 int m_stat; // status flag
89 Identifier m_mdcid; // MDC identifier
90 double m_tdc; // corrected TDC
91 double m_adc; // corrected ADC
92 double m_driftT; // drift time
93 double m_doca; // distance of closesest approach for helix in the cell
94 double m_entra; // entrance angle in azimuth
95 double m_zhit; // z coordinate of the hit
96 double m_fltLen; // flight length of this hit
97};
98
99typedef ObjectVector<RecMdcHit> RecMdcHitCol;
100
101#endif
102
ObjectVector< RecMdcHit > RecMdcHitCol
const CLID & CLID_RecMdcHit
Definition: EventModel.cxx:342
bool isGrouped(void)
RecMdcHit(const RecMdcHit &rechit)