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