8 #ifndef _DTrackCandidate_factory_
9 #define _DTrackCandidate_factory_
12 #include <JANA/JFactory.h>
13 #include <JANA/JEventLoop.h>
59 virtual jerror_t init(
void);
60 virtual jerror_t evnt(JEventLoop *loop, uint64_t eventnumber);
61 virtual jerror_t brun(JEventLoop* eventLoop,int32_t runnumber);
62 virtual jerror_t erun(
void);
63 virtual jerror_t fini(
void);
69 vector<const DFDCSegment *>segments,
70 vector<const DCDCTrackHit *>cdchits,
72 void ProjectHelixToZ(
const double z,
const double q,
const DVector3 &mom,
77 jerror_t GetPositionAndMomentum(
DHelicalFit &fit,
double Bz,
80 void GetPositionAndMomentum(
double z,
const DHelicalFit &fit,
84 void UpdatePositionAndMomentum(
DHelicalFit &fit,
double Bz,
91 vector<unsigned int> &cdc_forward_ids,
92 vector<DVector3>&cdc_endplate_projections,
93 vector<int>&cdc_forward_matches
97 bool MatchMethod3(
const DTrackCandidate *cdccan,vector<int> &forward_matches
99 bool MatchMethod4(
const DTrackCandidate *srccan,vector<int> &forward_matches,
100 int &num_fdc_cands_remaining);
102 vector<const DCDCTrackHit *>&cdchits,
103 vector<int> &forward_matches);
105 vector<const DFDCPseudo *>&fdchits,
106 vector<unsigned int>&used_cdc_hits,
107 unsigned int &num_unmatched_cdcs
109 bool MatchMethod7(
DTrackCandidate *srccan,vector<int> &forward_matches,
110 int &num_fdc_cands_remaining);
111 bool MatchMethod8(
const DTrackCandidate *cdccan,vector<int> &forward_matches);
112 bool MatchMethod9(
unsigned int src_index,
const DTrackCandidate *srccan,
114 vector<const DTrackCandidate*>&cands,
115 vector<int> &forward_matches);
116 bool MatchMethod10(
unsigned int src_index,
const DTrackCandidate *srccan,
118 vector<const DTrackCandidate*>&cands,
119 vector<int> &forward_matches);
123 bool MatchMethod12(
DTrackCandidate *srccan,vector<int> &forward_matches,
124 int &num_fdc_cands_remaining);
125 bool MatchMethod13(
unsigned int src_index,
const DTrackCandidate *srccan,
127 vector<const DTrackCandidate*>&cands,
128 vector<int> &forward_matches);
129 bool TryToFlipDirection(vector<const DSCHit *>&scihits,
131 bool MatchStraySegments(vector<int> &forward_matches,
132 int &num_fdc_cands_remaining);
133 bool MakeCandidateFromMethod1(
double theta,
134 vector<const DFDCSegment *>&segments,
164 #endif // _DTrackCandidate_factory_
const DMagneticFieldMap * bfield
vector< const DCDCTrackHit * > mycdchits
vector< DTrackCandidate * > trackcandidates
class DFDCPseudo: definition for a reconstructed point in the FDC
DMagneticFieldStepper class.
DTrackCandidate_factory()
vector< vector< DVector3 > > sc_norm
double FactorForSenseOfRotation
~DTrackCandidate_factory()
<A href="index.html#legend"> <IMG src="CORE.png" width="100"> </A>
DMagneticFieldStepper * stepper
int MAX_NUM_TRACK_CANDIDATES
vector< const DTrackCandidate * > fdctrackcandidates
vector< vector< DVector3 > > sc_pos
class DFDCSegment: definition for a track segment in the FDC
vector< const DTrackCandidate * > cdctrackcandidates
const DParticleID * dParticleID
<A href="index.html#legend"> <IMG src="CORE.png" width="100"> </A>