LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
SpacePointAlg_TimeSort.h
Go to the documentation of this file.
1 #ifndef SPACEPOINTALG_TIMESORT_H
2 #define SPACEPOINTALG_TIMESORT_H
3 
21 // LArSoft Includes
24 namespace detinfo {
25  class DetectorPropertiesData;
26 }
27 
28 // Frmaework includes
30 #include "fhiclcpp/fwd.h"
31 
32 //boost includes
33 #include "boost/multi_array.hpp"
34 
35 #include <memory>
36 #include <vector>
37 
38 namespace sppt {
39 
41  public:
42  explicit SpacePointAlg_TimeSort(fhicl::ParameterSet const& pset);
43 
44  void setTimeOffsets(detinfo::DetectorPropertiesData const& detProp);
45  void fillCoordinatesArrays();
46 
47  void createSpacePoints(
48  detinfo::DetectorPropertiesData const& detProp,
52  std::unique_ptr<std::vector<recob::SpacePoint>>& spptCollection,
53  std::unique_ptr<std::vector<std::vector<art::Ptr<recob::Hit>>>>& spptAssociatedHits);
54 
55  private:
56  float fTimeDiffMax;
57  float fYDiffMax;
58  float fZDiffMax;
59 
60  bool TIME_OFFSET_SET{false};
61  bool COORDINATES_FILLED{false};
62 
63  double TIME_OFFSET_U;
64  double TIME_OFFSET_V;
65  double TIME_OFFSET_Y;
66  double TICKS_TO_X;
67 
68  boost::multi_array<double, 2> coordinates_UV_y;
69  boost::multi_array<double, 2> coordinates_UV_z;
70  boost::multi_array<double, 2> coordinates_UY_y;
71  boost::multi_array<double, 2> coordinates_UY_z;
72 
73  void sortHitsByTime(std::vector<art::Ptr<recob::Hit>>& hits_handle) const;
74 
75  }; //class SpacePointAlg_TimeSort
76 
77 } //end sppt namespace
78 
79 #endif
float fYDiffMax
Maximum allowed time difference.
Declaration of signal hit object.
boost::multi_array< double, 2 > coordinates_UV_y
float fZDiffMax
Maximum allowed y-coordinate difference.
boost::multi_array< double, 2 > coordinates_UY_z
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Definition: DumpUtils.h:289
General LArSoft Utilities.
boost::multi_array< double, 2 > coordinates_UY_y
boost::multi_array< double, 2 > coordinates_UV_z