All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
StitchAlg.h
Go to the documentation of this file.
1 /////////////////////////////////////////////////////////////////
2 // \StitchAlg.h
3 // echurch@fnal.gov
4 ////////////////////////////////////////////////////////////////////
5 
6 #ifndef STITCHALG_H
7 #define STITCHALG_H
8 
9 
10 // art libraries
11 #include "canvas/Persistency/Common/PtrVector.h"
12 #include "art/Framework/Principal/Handle.h"
13 
14 // LArSoft libraries
16 
17 namespace fhicl { class ParameterSet; }
18 namespace art { class Event; }
19 
20 // C/C++ standard libraries
21 #include <string>
22 #include <tuple>
23 #include <vector>
24 
25 namespace trkf{
26 
27 
28 class StitchAlg
29 {
30 
31 
32  public:
33  StitchAlg (fhicl::ParameterSet const& pset) ;
34 
35  void reconfigure(fhicl::ParameterSet const& pset) ;
36 
37  void FindHeadsAndTails( const art::Event& e, const std::string& t);
38  void FirstStitch(const std::vector<art::PtrVector <recob::Track>>::iterator itvvArg, const std::vector <recob::Track>::iterator itvArg);
39  void WalkStitch();
40  bool CommonComponentStitch();
41 
42  void GetTrackComposites(std::vector <art::PtrVector <recob::Track> > & c) const { c = fTrackComposite;}
43  void GetTracks(std::vector <recob::Track>& t) const { t = fTrackVec ;}
44 
45  art::Handle< std::vector< recob::Track > > ftListHandle;
46 
47  private:
48 
49  std::vector <std::tuple <std::string, int, int, double, double> > fh;
50  std::vector <std::tuple <std::string, int, int, double, double> > ft;
51  int ftNo;
52  double fCosAngTol;
53  double fSepTol;
54 
55 
56  std::vector <art::PtrVector <recob::Track> > fTrackComposite;
57  std::vector <recob::Track> fTrackVec;
58  std::vector <std::vector <std::string>> fHT;
59 
60 };
61 
62 
63 
64 } // namespace
65 
66 #endif // ifndef STITCHALG_H
std::vector< std::tuple< std::string, int, int, double, double > > fh
Definition: StitchAlg.h:49
StitchAlg(fhicl::ParameterSet const &pset)
Definition: StitchAlg.cxx:27
void GetTracks(std::vector< recob::Track > &t) const
Definition: StitchAlg.h:43
art::Handle< std::vector< recob::Track > > ftListHandle
Definition: StitchAlg.h:45
std::vector< recob::Track > fTrackVec
Definition: StitchAlg.h:57
void FindHeadsAndTails(const art::Event &e, const std::string &t)
Definition: StitchAlg.cxx:45
bool CommonComponentStitch()
Definition: StitchAlg.cxx:478
void GetTrackComposites(std::vector< art::PtrVector< recob::Track > > &c) const
Definition: StitchAlg.h:42
void FirstStitch(const std::vector< art::PtrVector< recob::Track >>::iterator itvvArg, const std::vector< recob::Track >::iterator itvArg)
Definition: StitchAlg.cxx:251
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definition: DumpUtils.h:265
std::vector< std::vector< std::string > > fHT
Definition: StitchAlg.h:58
double fSepTol
Definition: StitchAlg.h:53
void reconfigure(fhicl::ParameterSet const &pset)
Definition: StitchAlg.cxx:37
Provides recob::Track data product.
double fCosAngTol
Definition: StitchAlg.h:52
do i e
std::vector< std::tuple< std::string, int, int, double, double > > ft
Definition: StitchAlg.h:50
std::vector< art::PtrVector< recob::Track > > fTrackComposite
Definition: StitchAlg.h:56