diff --git a/EDM/Identifier.h b/EDM/Identifier.h new file mode 100644 index 0000000000000000000000000000000000000000..62a97d734dc3e4829dd8cbc2bf9321bf564b52ff --- /dev/null +++ b/EDM/Identifier.h @@ -0,0 +1,34 @@ +/* + FASER Collaboration +*/ + +#ifndef IDENTIFIER_H +#define IDENTIFIER_H + +#include <iostream> + +using namespace std; + +class Identifier { + + public: + + Identifier(); + ~Identifier(); + Identifier(int); + + const int id(); + + private: + + int m_id; + +}; + +Identifier::Identifier() {} +Identifier::Identifier(int id) : m_id(id) {} +Identifier::~Identifier() {} + +const int Identifier::id() { return m_id; } + +#endif // IDENTIFIER_H diff --git a/EDM/StripCluster.h b/EDM/StripCluster.h new file mode 100644 index 0000000000000000000000000000000000000000..76af3d8ed1d5f0532d9cfe2d3d5bfb70193c06ed --- /dev/null +++ b/EDM/StripCluster.h @@ -0,0 +1,52 @@ +/* + FASER Collaboration +*/ + +#ifndef STRIPCLUSTER_H +#define STRIPCLUSTER_H + +#include <iostream> +#include <vector> +#include <Eigen/Dense> +#include "Identifier.h" + +using namespace Eigen; +using namespace std; + +class StripCluster { + + public: + + StripCluster(); + ~StripCluster(); + StripCluster(int); + + const int id(); + const std::vector<Identifier>& rdoList(); + const Vector2d localPosition(); + const Vector3d& globalPosition(); + const Matrix2d localCovariance(); + + private: + + Identifier m_id; + std::vector<Identifier> m_rdo; + + Vector2d m_localPosition; + Vector3d *m_globalPosition; + Matrix2d m_localCovariance; + +}; + +StripCluster::StripCluster() {} +StripCluster::StripCluster(int id) : m_id(id) {} +StripCluster::~StripCluster() {} + +const int StripCluster::id() { return m_id.id(); } +const std::vector<Identifier>& StripCluster::rdoList() { return m_rdo; } + +const Vector2d StripCluster::localPosition() { return m_localPosition; } +const Vector3d& StripCluster::globalPosition() { return *m_globalPosition; } +const Matrix2d StripCluster::localCovariance() { return m_localCovariance; } + +#endif // STRIPCLUSTER_H