BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
ExtMucKal.h
Go to the documentation of this file.
1#ifndef ExtMucKal_H_
2#define ExtMucKal_H_
3
4// #include "CLHEP/Alist/AList.h"
5#include "CLHEP/Matrix/SymMatrix.h"
6#include "CLHEP/Matrix/Vector.h"
7// #ifndef CLHEP_POINT3D_H
8#include "CLHEP/Geometry/Point3D.h"
9#include "Ext_xp_err.h"
10#include "G4LogicalVolume.hh"
11#include "G4VPhysicalVolume.hh"
12#include "MucRawEvent/MucDigi.h"
13#include "MucRecEvent/MucRecHit.h"
14// #endif
15
16class ExtMucKal //: public HepAList<KLMKCluster>
17{
18
19public:
20 ExtMucKal();
21 ~ExtMucKal();
22 bool ExtMucFilter();
23 void SetPosMomErr( Hep3Vector pos, Hep3Vector mom, HepSymMatrix err ) {
24 m_CurrentPosition = pos;
25 m_CurrentMomentum = mom;
26 m_CurrentXPErr = err;
27 }
28 void SetMucDigiCol( MucDigiCol* amucdigi ) { m_MucDigiCol = amucdigi; }
29 void SetMucWindow( int aMucWindow ) { n_sigm = aMucWindow; }
30 void SetGapID( Hep3Vector id ) { m_gapid = id; }
31 bool MucKalIniti();
32 void XPmod( Hep3Vector& pos, Hep3Vector& mom, HepSymMatrix& err );
33 bool JCB();
34 double Fit( Hep3Vector& pos, Hep3Vector& mom, HepSymMatrix& err );
35 HepMatrix GetRoationMatrix( MucGeoGap* box );
36 bool GetFilterStatus() { return FilterOK; }
37 double GetChi2() { return Chi2_sub; }
38 double GetDistance( const MucRecHit* hit );
39 double GetPull() { return m_pull; }
40 int GetOrient() { return m_orient; }
41 Hep3Vector GetHitGap();
42 vector<MucRecHit*> GapHit();
43 vector<MucRecHit*> TrackHit();
44 bool GetSameStrip() { return m_samestrip; }
45
46protected:
47private:
48 Hep3Vector m_gapid;
49 Hep3Vector m_hitgap;
50 Hep3Vector m_CurrentPosition;
51 Hep3Vector m_CurrentMomentum;
52 HepSymMatrix m_CurrentXPErr;
53 HepVector3D m_CurrentInsct;
54 HepSymMatrix m_CurrentInsctXPErr;
55 HepMatrix m_jcb;
56 MucDigiCol* m_MucDigiCol;
57 bool FilterOK;
58 double Chi2_sub;
59 HepSymMatrix m_err_mod;
60 Hep3Vector m_pos_mod;
61 Hep3Vector m_mom_mod;
62 MucRecHit* m_nearesthit;
63 bool HitExist;
64 double m_pull;
65 double m_sigma;
66 int m_orient;
67 int n_sigm;
68 HepVector m_bm;
69 HepSymMatrix m_Ebm;
70 int m_iStrip;
71 bool m_samestrip;
72};
73
74#endif
HepGeom::Vector3D< double > HepVector3D
NTuple::Array< double > m_sigma
bool ExtMucFilter()
Definition ExtMucKal.cxx:22
void SetGapID(Hep3Vector id)
Definition ExtMucKal.h:30
int GetOrient()
Definition ExtMucKal.h:40
double GetDistance(const MucRecHit *hit)
vector< MucRecHit * > GapHit()
bool GetSameStrip()
Definition ExtMucKal.h:44
bool GetFilterStatus()
Definition ExtMucKal.h:36
bool JCB()
double Fit(Hep3Vector &pos, Hep3Vector &mom, HepSymMatrix &err)
void SetPosMomErr(Hep3Vector pos, Hep3Vector mom, HepSymMatrix err)
Definition ExtMucKal.h:23
HepMatrix GetRoationMatrix(MucGeoGap *box)
void SetMucWindow(int aMucWindow)
Definition ExtMucKal.h:29
void XPmod(Hep3Vector &pos, Hep3Vector &mom, HepSymMatrix &err)
Definition ExtMucKal.cxx:87
void SetMucDigiCol(MucDigiCol *amucdigi)
Definition ExtMucKal.h:28
double GetChi2()
Definition ExtMucKal.h:37
vector< MucRecHit * > TrackHit()
Definition ExtMucKal.cxx:93
double GetPull()
Definition ExtMucKal.h:39
bool MucKalIniti()
Hep3Vector GetHitGap()