14#ifndef BMNNDETCLUSTER_H
15#define BMNNDETCLUSTER_H
45 vector<Double_t>
fTime;
47 vector<Double_t>
fEdep;
49 vector<Double_t>
fBeta;
#define ClassDef(name, id)
Class for description of recognized cluster in Bmn Ndet detector.
Double_t EnergyTofFastest(Double_t mass=0.939565420)
Kinetic energy calculated by the time of flight.
Int_t GetNCells(Double_t threshold)
Number of cells in cluster with deposited energy > threshold.
vector< Double_t > GetZ()
vector< Int_t > fRow
Row number of a cell. It must be proportional to Y coordinate in self coordinate system of a detector...
vector< Int_t > fCell
Index of a cell in BmnNdetCell array in BmnNdetEvent object.
Double_t AngleToDirection(Double_t x=0, Double_t y=0, Double_t z=1)
Angle between vector (x,y,z) and average direction of cluster Direction of cluster is sum of vectors,...
Double_t EnergyDeposited(Double_t threshold=0.003)
Energy deposited in cluster [GeV].
vector< Double_t > GetBeta()
Double_t BetaFastest()
Beta calculated for the cell with highest beta beta = v / c v = d / t d = sqrt(x^2+y^2+z^2) .
void Clear()
Clear all cell contents, set fNCells=0.
Int_t fNCells
number of cells in this cluster
virtual void Print(const Option_t *option="")
Print.
vector< Int_t > GetLayers()
Int_t FirstCell()
Returns index of the first fired cell in cluster.
void AddCell(Int_t cell, Int_t column, Int_t row, Int_t layer, Double_t x, Double_t y, Double_t z, Double_t t, Double_t e_dep, Double_t beta=-1.)
Add cell to the cluster.
BmnNdetCluster(size_t size)
Сonstructor.
BmnNdetCluster * AddCluster(BmnNdetCluster *other)
Merging of clusters.
vector< Int_t > fLayer
Layer number of a cell. It must be proportional to Z coordinate in self coordinate system of a detect...
vector< Double_t > GetTime()
Int_t FastestCell()
Returns index of the fastest fired cell in cluster.
Double_t EnergyTofFirst(Double_t mass=0.939565420)
Kinetic energy calculated by the time of flight.
vector< Int_t > fColumn
Column number of a cell. It must be proportional to X coordinate in self coordinate system of a detec...
vector< Double_t > GetY()
virtual const char * GetClassName()
vector< Double_t > GetEdep()
Double_t BetaFirst()
Beta calculated for first fired cell in cluster beta = v / c v = d / t d = sqrt(x^2+y^2+z^2) .
vector< Int_t > GetColumns()
vector< Double_t > fXcoord
X coordinate [cm].
BmnNdetCluster()
Default constructor.
vector< Double_t > fZcoord
Z coordinate [cm].
Bool_t ContainsVetoCells(Int_t veto_layer=0)
Function for selection of charged particles.
BmnNdetCluster(BmnNdetCluster &&) noexcept
Move constructor.
vector< Int_t > GetCells()
vector< Double_t > fEdep
Energy deposited in the cell [GeV].
Double_t EnergyTofAverage(Double_t mass=0.939565420)
Kinetic energy calculated by the time of flight.
vector< Double_t > fBeta
beta=v/c calculated from the time of flight to this cell
~BmnNdetCluster()
Default destructor.
Double_t AngleToTarget()
Angle between direction to first cell and average direction of cluster Direction of cluster is sum of...
vector< Double_t > fYcoord
Y coordinate [cm].
vector< Double_t > GetX()
Double_t EnergyDepositedAverage(Double_t threshold=0.003)
Average deposited energy per cell in cluster [GeV].
vector< Double_t > fTime
Time of actuation of the cell [ns].
Bool_t StartsOnBorder(Int_t size_x=11, Int_t size_y=11, Int_t size_z=8)
Function for selection of particles coming from side.
BmnNdetCluster(const BmnNdetCluster &)
Copy constructor.
vector< Int_t > GetRows()
double beta(double x, double y)
*brief exchanges the values of two JSON objects *sa nlohmann::NLOHMANN_BASIC_JSON_TPL &j2 noexcept(is_nothrow_move_constructible< nlohmann::NLOHMANN_BASIC_JSON_TPL >::value &&is_nothrow_move_assignable< nlohmann::NLOHMANN_BASIC_JSON_TPL >::value)