HerdSoftware  0.3.2
CaloTrackInfoAlgo.h
Go to the documentation of this file.
1 /*
2  * CaloTrackInfoAlgo.h
3  *
4  * Created on: 21 Oct 2019
5  * Author: Lorenzo Pacini
6  */
7 
8 #ifndef HERD_CALOTRACKINFOALGO_H_
9 #define HERD_CALOTRACKINFOALGO_H_
10 
11 #include "algorithm/Algorithm.h"
12 #include "common/DirectionsArray.h"
14 #include "dataobjects/MCTruth.h"
15 #include "dataobjects/Plane.h"
17 #include <array>
18 
19 using namespace EA;
20 
21 namespace Herd {
22 
39 class CaloTrackInfoAlgo : public Algorithm {
40 public:
45  explicit CaloTrackInfoAlgo(const std::string &name);
46 
51  bool Initialize() override;
52 
57  bool Process() override;
58 
63  bool Finalize() override;
64 
65 private:
71  bool _ComputeTrackInfoForCalo(const Line track);
72 
79  float _PntDistance(Point p1, Point p2);
80 
89  bool _CalculateExactTrackLength(const Point startingPoint, Vec3D direction, float &length,
90  float &lengthAfterInteraction);
91 
92  observer_ptr<EventDataStore> _evStore;
93  observer_ptr<GlobalDataStore> _globStore;
94 
95  observer_ptr<MCTruth> _mcTruth;
96  observer_ptr<CaloGeoParams> _caloGeoParams;
97 
99 
101 }; // namespace Herd
102 
103 } // namespace Herd
104 
105 #endif /* HERD_CALOTRACKINFOALGO_H_ */
Container of information about the track inside the Calo.
Definition: TrackInfoForCalo.h:28
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
A class describing a vector in 3D space.
Definition: Vec3D.h:33
Class describing a line in the 3D space.
Definition: Line.h:34
An algorithm which computes information about the track inside the Calo.
Definition: CaloTrackInfoAlgo.h:39
observer_ptr< EventDataStore > _evStore
Pointer to the event data store.
Definition: CaloTrackInfoAlgo.h:92
observer_ptr< GlobalDataStore > _globStore
Pointer to the global data store.
Definition: CaloTrackInfoAlgo.h:93
observer_ptr< CaloGeoParams > _caloGeoParams
Definition: CaloTrackInfoAlgo.h:96
observer_ptr< MCTruth > _mcTruth
Definition: CaloTrackInfoAlgo.h:95
float _meanVolumeActiveFraction
Definition: CaloTrackInfoAlgo.h:100
TrackInfoForCalo _trackInfoCalo
The TrackInfoForCalo object to fill with the computed information.
Definition: CaloTrackInfoAlgo.h:98