PlaneShowerFront.h
Go to the documentation of this file.
1 #ifndef _MdGeometryFitterAG_PlaneShowerFront_h_
2 #define _MdGeometryFitterAG_PlaneShowerFront_h_
3 
4 #include <TVector3.h>
5 
6 #include <utl/PhysicalConstants.h>
7 
8 // Model of the shower front as plane travelling at the speed of light
9 // The arrival time of the front at the core postion is a parameter of the model
10 // adjusted during the geometrical reconstruction along with the shower axis.
11 
12 namespace MdGeometryFitterAG {
13 
15 
16  public:
17  PlaneShowerFront(TVector3 axis1, double t01, TVector3 core1) : axis(axis1), t0(t01), core(core1) {}
18 
19  // Calculate the arrival time of the shower front at a given position
20  double operator()(const TVector3 &pos) const {
21 
22  const TVector3 detectorToCore = pos-core; // desired position wrt the core
23  const double detectorHeigth = -axis.Dot(detectorToCore); // height of the detector wrt the shower plane (positive/negative for late/early detectors)
24  const double delay = detectorHeigth / utl::kSpeedOfLight; // arrival time of the front at position wrt to the core
25  const double arrivalTime = t0 + delay; // correct the arrival time with the core time
26 
27  return arrivalTime;
28  }
29 
30  private:
31  TVector3 axis; // shower axis
32  double t0; // arrival time of the sphere at the core
33  TVector3 core; // core position
34  };
35 
36 }
37 
38 #endif
39 
40 
41 
static int delay
Definition: XbAlgo.cc:20
double operator()(const TVector3 &pos) const
constexpr double kSpeedOfLight
PlaneShowerFront(TVector3 axis1, double t01, TVector3 core1)

, generated on Tue Sep 26 2023.