~c-e-pidcott/maus/devel

« back to all changes in this revision

Viewing changes to src/common_cpp/Recon/SciFi/PatternRecognition.hh

  • Committer: c.e.pidcott at ac
  • Date: 2012-12-03 13:48:31 UTC
  • mfrom: (674.1.22 itaylor-devel)
  • Revision ID: c.e.pidcott@warwick.ac.uk-20121203134831-zeimkngw2w2led4w
Ian'sĀ developmentĀ branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
72
72
      *  @param trker_no - The tracker number
73
73
      *  @param evt - The SciFi event
74
74
      */
75
 
    void add_tracks(const int trker_no, std::vector<SciFiStraightPRTrack> &strks,
76
 
                    std::vector<SciFiHelicalPRTrack> &htrks, SciFiEvent &evt);
 
75
    void add_tracks(const int trker_no, std::vector<SciFiStraightPRTrack*> &strks,
 
76
                    std::vector<SciFiHelicalPRTrack*> &htrks, SciFiEvent &evt);
77
77
 
78
78
     /** @brief Small function to easily add straight trks to a SciFiEvent
79
79
      *
100
100
     *  @param strks - A vector of the output Pattern Recognition straight tracks
101
101
     *  @param htrks - A vector of the output Pattern Recognition helical tracks
102
102
     */
103
 
    void make_5tracks(const bool track_type, SpacePoint2dPArray &spnts_by_station,
104
 
                      std::vector<SciFiStraightPRTrack> &strks,
105
 
                      std::vector<SciFiHelicalPRTrack> &htrks);
 
103
    void make_5tracks(const bool track_type, const int trker_no,
 
104
                      SpacePoint2dPArray &spnts_by_station,
 
105
                      std::vector<SciFiStraightPRTrack*> &strks,
 
106
                      std::vector<SciFiHelicalPRTrack*> &htrks);
106
107
 
107
108
    /** @brief Make Pattern Recognition tracks with 4 spacepoints
108
109
     *
115
116
     *  @param strks - A vector of the output Pattern Recognition straight tracks
116
117
     *  @param htrks - A vector of the output Pattern Recognition helical tracks
117
118
     */
118
 
    void make_4tracks(const bool track_type, SpacePoint2dPArray &spnts_by_station,
119
 
                      std::vector<SciFiStraightPRTrack> &strks,
120
 
                      std::vector<SciFiHelicalPRTrack> &htrks);
 
119
    void make_4tracks(const bool track_type, const int trker_no,
 
120
                      SpacePoint2dPArray &spnts_by_station,
 
121
                      std::vector<SciFiStraightPRTrack*> &strks,
 
122
                      std::vector<SciFiHelicalPRTrack*> &htrks);
121
123
 
122
124
    /** @brief Make Pattern Recognition tracks with 3 spacepoints
123
125
     *
130
132
     *  @param strks - A vector of the output Pattern Recognition straight tracks
131
133
     *  @param htrks - A vector of the output Pattern Recognition helical tracks
132
134
     */
133
 
    void make_3tracks(const bool track_type, SpacePoint2dPArray &spnts_by_station,
134
 
                      std::vector<SciFiStraightPRTrack> &strks,
135
 
                      std::vector<SciFiHelicalPRTrack> &htrks);
 
135
    void make_3tracks(const bool track_type, const int trker_no,
 
136
                      SpacePoint2dPArray &spnts_by_station,
 
137
                      std::vector<SciFiStraightPRTrack*> &strks,
 
138
                      std::vector<SciFiHelicalPRTrack*> &htrks);
136
139
 
137
140
    /** @brief Fits a straight track for a given set of stations
138
141
     * 
144
147
     *  @param spnts_by_station - A 2D vector of all the input spacepoints ordered by station
145
148
     *  @param trks - A vector of the output Pattern Recognition tracks
146
149
     */
147
 
    void make_straight_tracks(const int num_points, const std::vector<int> ignore_stations,
148
 
                     SpacePoint2dPArray &spnts_by_station,
149
 
                     std::vector<SciFiStraightPRTrack> &strks);
 
150
    void make_straight_tracks(const int num_points, const int trker_no,
 
151
                              const std::vector<int> ignore_stations,
 
152
                              SpacePoint2dPArray &spnts_by_station,
 
153
                              std::vector<SciFiStraightPRTrack*> &strks);
150
154
 
151
155
    /** @brief Least-squares straight line fit
152
156
     *
176
180
     *  @param trks The track holding the initial helix parameters and spacepoints used
177
181
     *
178
182
     */
179
 
    void make_helix(const int num_points, const std::vector<int> ignore_stations,
 
183
    void make_helix(const int num_points, const int trker_no,
 
184
                    const std::vector<int> ignore_stations,
180
185
                    SpacePoint2dPArray &spnts_by_station,
181
 
                    std::vector<SciFiHelicalPRTrack> &htrks);
 
186
                    std::vector<SciFiHelicalPRTrack*> &htrks);
182
187
 
183
188
    /** @brief Fit a circle to spacepoints in x-y projection
184
189
     *