LDMX Software
GaussianDistribution2D.h
1#pragma once
2
3#include "Acts/Definitions/Algebra.hpp"
4
6 public:
7 GaussianDistribution2D(double normalization, const Acts::Vector3& mean,
8 const Acts::Vector3& major_axis,
9 const Acts::Vector3& minor_axis);
10
11 void transform(const Acts::Transform3& transform);
12 GaussianDistribution2D transformed(const Acts::Transform3& transform);
13
14 double getNormalization() { return normalization_; };
15 Acts::Vector3 getMean() { return mean_; };
16 double sigma1D(const Acts::Vector3& axis);
17 double covxy(const Acts::Vector3& xaxis, const Acts::Vector3 yaxis);
18 double upperIntegral1D(const Acts::Vector3& axis, double integration_limit);
19
20 private:
21 double normalization_{1.0};
22 Acts::Vector3 mean_{0., 0., 0.};
23 Acts::Vector3 major_axis_{0., 0., 0.};
24 Acts::Vector3 minor_axis_{0., 0., 0.};
25};