Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTrackCandidate.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DTrackCandidate.h
4 // Created: Sun Apr 3 12:38:16 EDT 2005
5 // Creator: davidl (on Darwin Harriet.local 7.8.0 powerpc)
6 //
7 
8 #ifndef _DTrackCandidate_
9 #define _DTrackCandidate_
10 
11 #include <JANA/JObject.h>
12 #include <JANA/JFactory.h>
13 using namespace jana;
14 
15 #include <TRACKING/DTrackingData.h>
16 #include <TRACKING/DTrackFitter.h>
17 
19 
20 #define MAX_IHITS 256
21 
22 /// \htmlonly
23 /// <A href="index.html#legend">
24 /// <IMG src="CORE.png" width="100">
25 /// </A>
26 /// \endhtmlonly
27 
28 /// DTrackCandidate objects are the result of track finding and the
29 /// input to track fitting. Several algorithms exist for making
30 /// these and then merging them. For the default, see
31 /// DTrackCandidate_factory .
32 
34  public:
35  JOBJECT_PUBLIC(DTrackCandidate);
36 
37  DTrackCandidate():chisq(0),Ndof(0),rt(0),IsSmoothed(0){}
38 
39  float chisq; ///< Chi-squared for the track (not chisq/dof!)
40  int Ndof; ///< Number of degrees of freedom in the fit
41 
42  const DReferenceTrajectory *rt; ///< pointer to reference trjectory representing this track (if any)
43 
44  vector<DTrackFitter::pull_t> pulls; // vector of residuals and other track-related quantities
45 
46  vector<int>used_cdc_indexes;
47  vector<int>used_fdc_indexes;
48 
49  // Circle fit data
50  double xc,yc,rc;
51 
52  // Hit CDC Rings & FDC Planes
53  // use the DParticleID Get_CDCRings & Get_FDCPlanes functions to extract the information from these
54  unsigned int dCDCRings; //CDC rings where the track has an associated DCDCTrackHit //rings correspond to bits (1 -> 28)
55  unsigned int dFDCPlanes; //FDC planes where the track has an associated DFDCPseudoHit //planes correspond to bits (1 -> 24)
56 
57  bool IsSmoothed; // Boolean value to indicate whether the smoother was run succesfully over this track.
58 
59  void toStrings(vector<pair<string,string> > &items)const{
61  AddString(items, "id", "0x%x", id);
62  AddString(items, "chisq", "%f", chisq);
63  AddString(items, "Ndof", "%d", Ndof);
64  }
65 };
66 
67 #endif // _DTrackCandidate_
68 
unsigned int dCDCRings
unsigned int dFDCPlanes
vector< int > used_cdc_indexes
void toStrings(vector< pair< string, string > > &items) const
vector< DTrackFitter::pull_t > pulls
const DReferenceTrajectory * rt
pointer to reference trjectory representing this track (if any)
vector< int > used_fdc_indexes
&lt;A href=&quot;index.html#legend&quot;&gt; &lt;IMG src=&quot;CORE.png&quot; width=&quot;100&quot;&gt; &lt;/A&gt;
float chisq
Chi-squared for the track (not chisq/dof!)
void toStrings(vector< pair< string, string > > &items) const
int Ndof
Number of degrees of freedom in the fit.