ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
|
Go to the documentation of this file. 1 #ifndef ATHITCLUSTER_HH
2 #define ATHITCLUSTER_HH
7 #include <TMatrixDSymfwd.h>
8 #include <TMatrixTSym.h>
15 class TMemberInspector;
63 virtual std::unique_ptr<AtHit>
Clone()
override;
82 template <
class A,
class B>
85 return {a.X() * b.X(), a.Y() * b.Y(), a.Z() * b.Z()};
87 template <
class A,
class B>
90 return {a.X() / b.X(), a.Y() / b.Y(), a.Z() / b.Z()};
95 return {1 / b.X(), 1 / b.Y(), 1 / b.Z()};
XYZVector ElementMult(const A &a, const B &b)
ROOT::Math::XYZPoint XYZPoint
void updateWeightsAndCharge(const AtHit &hit)
Int_t GetClusterSize() const
: Class representing a cluster of hits that arise from the same deposition of charge in space....
ROOT::Math::XYZVector XYZVector
ROOT::Math::XYZVector XYZVector
TMatrixDSym fCovNumerator
AtHitCluster(const AtHitCluster &cluster)=default
ClassDefOverride(AtHitCluster, 4)
void SetCovMatrix(TMatrixDSym matrix)
void updateCovariance(const AtHit &hit)
void updatePosition(const AtHit &hit)
XYZVector ElementDiv(const A &a, const B &b)
std::vector< size_t > cluster
XYZPoint GetPositionCharge() const
virtual void AddHit(const AtHit &hit)
Add hit to cluster.
void SetLength(Double_t length)
Double_t GetLength() const
Int_t GetClusterID() const
virtual void SetPositionVariance(const XYZVector &vec) override
virtual std::unique_ptr< AtHit > Clone() override
XYZPoint fPositionChargeOld
virtual ~AtHitCluster()=default
const TMatrixDSym & GetCovNumerator() const
T ElementInvert(const T &b)
void SetClusterID(Int_t id)
Point in space with charge.
const TMatrixDSym & GetCovMatrix() const