Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTrackCandidate_factory_StraightLine.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DTrackCandidate_factory_StraightLine.h
4 // Created: Fri Aug 15 09:14:04 EDT 2014
5 // Creator: staylor (on Linux ifarm1102 2.6.32-220.7.1.el6.x86_64 x86_64)
6 //
7 
8 #ifndef _DTrackCandidate_factory_StraightLine_
9 #define _DTrackCandidate_factory_StraightLine_
10 
11 #include <JANA/JFactory.h>
12 #include "DTrackCandidate.h"
13 #include "TRACKING/DTrackFinder.h"
14 #include <TRACKING/DTrackFitter.h>
15 #include "CDC/DCDCTrackHit.h"
16 #include "FDC/DFDCPseudo.h"
17 #include "DMatrixSIMD.h"
18 #include <deque>
19 #include <TROOT.h>
20 #include <TH2F.h>
21 #include <TH1I.h>
22 #include "PID/DParticleID.h"
23 
24 class DParticleID;
25 
26 class DTrackCandidate_factory_StraightLine:public jana::JFactory<DTrackCandidate>{
27  public:
30  const char* Tag(void){return "StraightLine";}
31 
37  };
46  };
47 
48 
49  class trajectory_t{
50  public:
52  DMatrix4x4 Ckk,unsigned int id=0,unsigned int numhits=0)
53  :z(z),t(t),S(S),J(J),Skk(Skk),Ckk(Ckk),id(id),numhits(numhits){}
54  double z,t;
59  unsigned int id,numhits;
60 
61  };
62 
63  typedef struct{
64  double resi,err,d,delta,tdrift,ddrift,s,V;
67  }cdc_update_t;
68 
69  typedef struct{
70  double d,tdrift,s;
74  }fdc_update_t;
75 
76 
77  private:
78  jerror_t init(void); ///< Called once at program start.
79  jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber); ///< Called everytime a new run number is detected.
80  jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber); ///< Called every event.
81  jerror_t erun(void); ///< Called everytime run number changes, provided brun has been called.
82  jerror_t fini(void); ///< Called after last event of last event source has been processed.
83 
85  float CHI2CUT;
88 
91 
92  // Diagnostic histograms
93  TH2F *Hvres;
95 
96  // pool of TMatrix's
97  shared_ptr<DResourcePool<TMatrixFSym>> dResourcePool_TMatrixFSym;
98 
99 };
100 
101 #endif // _DTrackCandidate_factory_StraightLine_
102 
jerror_t erun(void)
Called everytime run number changes, provided brun has been called.
jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber)
Called everytime a new run number is detected.
jerror_t init(void)
Called once at program start.
jerror_t fini(void)
Called after last event of last event source has been processed.
shared_ptr< DResourcePool< TMatrixFSym > > dResourcePool_TMatrixFSym
jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber)
Called every event.
trajectory_t(double z, double t, DMatrix4x1 S, DMatrix4x4 J, DMatrix4x1 Skk, DMatrix4x4 Ckk, unsigned int id=0, unsigned int numhits=0)