20#ifndef RestCore_TRestVolumeHits
21#define RestCore_TRestVolumeHits
32 std::vector<Float_t> fSigmaX;
33 std::vector<Float_t> fSigmaY;
34 std::vector<Float_t> fSigmaZ;
37 void AddHit(Double_t x, Double_t y, Double_t z, Double_t en, Double_t time, REST_HitType type,
38 Double_t sigmaX, Double_t sigmaY, Double_t sigmaZ);
39 void AddHit(
const TVector3& pos, Double_t en, Double_t time, REST_HitType type,
const TVector3& sigma);
43 void MergeHits(Int_t n, Int_t m);
57 inline Double_t
GetSigmaX(
int n)
const {
return fSigmaX[n]; }
58 inline Double_t
GetSigmaY(
int n)
const {
return fSigmaY[n]; }
59 inline Double_t GetSigmaZ(
int n)
const {
return fSigmaZ[n]; }
61 TVector3 GetSigma(
int n)
const;
63 void PrintHits()
const;
65 inline Double_t GetClusterSize(
int n)
const {
66 return TMath::Sqrt(fSigmaX[n] * fSigmaX[n] + fSigmaY[n] * fSigmaY[n] + fSigmaZ[n] * fSigmaZ[n]);
68 inline Double_t GetXYSize(
int n)
const {
69 return TMath::Sqrt(fSigmaX[n] * fSigmaX[n] + fSigmaY[n] * fSigmaY[n]);
It saves a 3-coordinate position and an energy for each punctual deposition.
Double_t GetSigmaX() const
It calculates the hits standard deviation in the X-coordinate.
Double_t GetSigmaY() const
It calculates the hits standard deviation in the Y-coordinate.
void RemoveHit(int n)
It removes the hit at position n from the list.
Bool_t areXZ() const
It will return true only if all the hits inside are of type XZ.
Bool_t areXYZ() const
It will return true only if all the hits inside are of type XYZ.
void SwapHits(Int_t i, Int_t j)
It exchanges hits n and m affecting to the ordering of the hits inside the list of hits.
Bool_t areYZ() const
It will return true only if all the hits inside are of type YZ.
Bool_t areXY() const
It will return true only if all the hits inside are of type XY.
void RemoveHits()
It removes all hits inside the class.