BmnRoot
Loading...
Searching...
No Matches
BmnNdetClusterFinder Class Reference

Class for description of algorithm of recognition of clusters in Bmn Ndet detector. More...

#include <BmnNdetClusterFinder.h>

Inheritance diagram for BmnNdetClusterFinder:
[legend]
Collaboration diagram for BmnNdetClusterFinder:
[legend]

Public Types

enum  eCellStatus { kIsNotUsed = 0 , kIsUsed , kIsNotUsed = 0 , kIsUsed }
 Flag if the cell belongs to any cluster. More...
 
enum  eClusterStatus {
  kNoCluster = -1 , kUnchecked = 0 , kIsNeutron , kNotNeutron ,
  kNoCluster = -1 , kUnchecked = 0 , kIsNeutron , kNotNeutron
}
 Status of the cluster. More...
 
enum  eCellStatus { kIsNotUsed = 0 , kIsUsed , kIsNotUsed = 0 , kIsUsed }
 Flag if the cell belongs to any cluster. More...
 
enum  eClusterStatus {
  kNoCluster = -1 , kUnchecked = 0 , kIsNeutron , kNotNeutron ,
  kNoCluster = -1 , kUnchecked = 0 , kIsNeutron , kNotNeutron
}
 Status of the cluster. More...
 

Public Member Functions

 BmnNdetClusterFinder (const Int_t kNColumns=11, const Int_t kNRows=11, const Int_t kNLayers=16)
 Default constructor.
 
 ~BmnNdetClusterFinder ()
 Default destructor.
 
Int_t GetNClusters ()
 
Int_t GetNCells ()
 
Int_t GetNCells (Double_t threshold)
 
Int_t GetNColumns ()
 
Int_t GetNRows ()
 
Int_t GetNLayers ()
 
vector< Int_t > GetCells ()
 
vector< Int_t > GetColumns ()
 
vector< Int_t > GetRows ()
 
vector< Int_t > GetLayers ()
 
vector< Double_t > GetX ()
 
vector< Double_t > GetY ()
 
vector< Double_t > GetZ ()
 
vector< Double_t > GetTime ()
 
vector< Double_t > GetEdep ()
 
vector< Double_t > GetBeta ()
 
Int_t GetClusterStatus (Int_t i_cluster)
 
void SetClusterStatus (Int_t i_cluster, eClusterStatus status)
 
void Fill (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)
 
void Clear ()
 Clear all vectors, set fNCells=0.
 
void Print ()
 Print.
 
BmnNdetClusterGetCluster (Int_t i_cluster)
 
BmnNdetClusterAddCluster ()
 
void AddCellToCluster (Int_t i_cell, Int_t i_cluster)
 
Int_t FindClusters1 ()
 
Int_t FindClusters1_2 ()
 
Int_t FindClusters2 ()
 
Int_t FindClusters2_2 ()
 
Int_t FindClusters3 (Double_t cut_beta=0.03)
 
Int_t FindClusters4 (Double_t cut_beta=0.01)
 
Int_t SelectNeutrons (Double_t cut_angle=45., Int_t cut_ncells=3, Bool_t check_border=kFALSE)
 
Int_t MergeClusters (Int_t i_cluster_1, Int_t i_cluster_2)
 
Int_t CalculateNumberOfNeutrons (Double_t weight_edep=1., Double_t weight_ncells=0.01, Double_t weight_nclusters=0.05, Double_t threshold12=0.)
 
virtual const char * GetClassName ()
 
 BmnNdetClusterFinder (const Int_t kNColumns=11, const Int_t kNRows=11, const Int_t kNLayers=16)
 Default constructor.
 
 ~BmnNdetClusterFinder ()
 Default destructor.
 
Int_t GetNClusters ()
 
Int_t GetNCells ()
 
Int_t GetNCells (Double_t threshold)
 
Int_t GetNColumns ()
 
Int_t GetNRows ()
 
Int_t GetNLayers ()
 
vector< Int_t > GetCells ()
 
vector< Int_t > GetColumns ()
 
vector< Int_t > GetRows ()
 
vector< Int_t > GetLayers ()
 
vector< Double_t > GetX ()
 
vector< Double_t > GetY ()
 
vector< Double_t > GetZ ()
 
vector< Double_t > GetTime ()
 
vector< Double_t > GetEdep ()
 
vector< Double_t > GetBeta ()
 
Int_t GetClusterStatus (Int_t i_cluster)
 
void SetClusterStatus (Int_t i_cluster, eClusterStatus status)
 
void Fill (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)
 
void Clear ()
 Clear all vectors, set fNCells=0.
 
void Print ()
 Print.
 
BmnNdetClusterGetCluster (Int_t i_cluster)
 
BmnNdetClusterAddCluster ()
 
void AddCellToCluster (Int_t i_cell, Int_t i_cluster)
 
Int_t FindClusters1 ()
 
Int_t FindClusters1_2 ()
 
Int_t FindClusters2 ()
 
Int_t FindClusters2_2 ()
 
Int_t FindClusters3 (Double_t cut_beta=0.03)
 
Int_t FindClusters4 (Double_t cut_beta=0.01)
 
Int_t SelectNeutrons (Double_t cut_angle=45., Int_t cut_ncells=3, Bool_t check_border=kFALSE)
 
Int_t MergeClusters (Int_t i_cluster_1, Int_t i_cluster_2)
 
Int_t CalculateNumberOfNeutrons (Double_t weight_edep=1., Double_t weight_ncells=0.01, Double_t weight_nclusters=0.05, Double_t threshold12=0.)
 
virtual const char * GetClassName ()
 

Detailed Description

Class for description of algorithm of recognition of clusters in Bmn Ndet detector.

BmnNdetClusterFinder must be run in the following order:

  1. create BmnNdetClusterFinder object
  2. initialize data with BmnNdetClusterFinder::Fill() method
  3. search for clusters with BmnNdetClusterFinder::FindClusters() method
    The recognized clusters can be obtained with BmnNdetClusterFinder::GetCluster() method
    Version
    1.0

Definition at line 25 of file BmnNdetClusterFinder.h.

Member Enumeration Documentation

◆ eCellStatus [1/2]

Flag if the cell belongs to any cluster.

Enumerator
kIsNotUsed 

the cell doesn't belong to any cluster

kIsUsed 

the cell belongs to some cluster

kIsNotUsed 

the cell doesn't belong to any cluster

kIsUsed 

the cell belongs to some cluster

Definition at line 29 of file BmnNdetClusterFinder.h.

◆ eCellStatus [2/2]

Flag if the cell belongs to any cluster.

Enumerator
kIsNotUsed 

the cell doesn't belong to any cluster

kIsUsed 

the cell belongs to some cluster

kIsNotUsed 

the cell doesn't belong to any cluster

kIsUsed 

the cell belongs to some cluster

Definition at line 29 of file BmnNdetClusterFinder.h.

◆ eClusterStatus [1/2]

Status of the cluster.

Enumerator
kNoCluster 

there is no cluster

kUnchecked 

the cluster is not checked yet

kIsNeutron 

the cluster is produced by neutron

kNotNeutron 

the cluster can't be produced by neutron

kNoCluster 

there is no cluster

kUnchecked 

the cluster is not checked yet

kIsNeutron 

the cluster is produced by neutron

kNotNeutron 

the cluster can't be produced by neutron

Definition at line 36 of file BmnNdetClusterFinder.h.

◆ eClusterStatus [2/2]

Status of the cluster.

Enumerator
kNoCluster 

there is no cluster

kUnchecked 

the cluster is not checked yet

kIsNeutron 

the cluster is produced by neutron

kNotNeutron 

the cluster can't be produced by neutron

kNoCluster 

there is no cluster

kUnchecked 

the cluster is not checked yet

kIsNeutron 

the cluster is produced by neutron

kNotNeutron 

the cluster can't be produced by neutron

Definition at line 36 of file BmnNdetClusterFinder.h.

Constructor & Destructor Documentation

◆ BmnNdetClusterFinder() [1/2]

BmnNdetClusterFinder::BmnNdetClusterFinder ( const Int_t  kNColumns = 11,
const Int_t  kNRows = 11,
const Int_t  kNLayers = 16 
)

Default constructor.

Definition at line 15 of file BmnNdetClusterFinder.cxx.

◆ ~BmnNdetClusterFinder() [1/2]

BmnNdetClusterFinder::~BmnNdetClusterFinder ( )

Default destructor.

Definition at line 24 of file BmnNdetClusterFinder.cxx.

References GetNColumns(), and GetNRows().

◆ BmnNdetClusterFinder() [2/2]

BmnNdetClusterFinder::BmnNdetClusterFinder ( const Int_t  kNColumns = 11,
const Int_t  kNRows = 11,
const Int_t  kNLayers = 16 
)

Default constructor.

◆ ~BmnNdetClusterFinder() [2/2]

BmnNdetClusterFinder::~BmnNdetClusterFinder ( )

Default destructor.

Member Function Documentation

◆ AddCellToCluster() [1/2]

void BmnNdetClusterFinder::AddCellToCluster ( Int_t  i_cell,
Int_t  i_cluster = -1 
)

Mark a cell i_cell as belonging to cluster i_cluster

Parameters
i_cellindex of cell in order of its filling with BmnNdetClusterFinder::Fill() method
i_clusterindex of cluster in order of its addition with BmnNdetClusterFinder::AddCluster() method. The last cluster is taken by default.

Definition at line 217 of file BmnNdetClusterFinder.cxx.

References BmnNdetCluster::AddCell(), GetCluster(), i, and kIsUsed.

Referenced by FindClusters1(), FindClusters1_2(), FindClusters2(), FindClusters2_2(), FindClusters3(), and FindClusters4().

◆ AddCellToCluster() [2/2]

void BmnNdetClusterFinder::AddCellToCluster ( Int_t  i_cell,
Int_t  i_cluster 
)

Mark a cell i_cell as belonging to cluster i_cluster

Parameters
i_cellindex of cell in order of its filling with BmnNdetClusterFinder::Fill() method
i_clusterindex of cluster in order of its addition with BmnNdetClusterFinder::AddCluster() method. The last cluster is taken by default.

◆ AddCluster() [1/2]

BmnNdetCluster * BmnNdetClusterFinder::AddCluster ( )

Add empty BmnNdetCluster to the list of clusters

Returns
pointer to the newly added cluster

Definition at line 208 of file BmnNdetClusterFinder.cxx.

References kUnchecked.

Referenced by FindClusters1(), FindClusters1_2(), FindClusters2(), FindClusters2_2(), FindClusters3(), and FindClusters4().

◆ AddCluster() [2/2]

BmnNdetCluster * BmnNdetClusterFinder::AddCluster ( )

Add empty BmnNdetCluster to the list of clusters

Returns
pointer to the newly added cluster

◆ CalculateNumberOfNeutrons() [1/2]

Int_t BmnNdetClusterFinder::CalculateNumberOfNeutrons ( Double_t  weight_edep = 1.,
Double_t  weight_ncells = 0.01,
Double_t  weight_nclusters = 0.05,
Double_t  threshold12 = 0. 
)

Estimate number of neutrons based on:

Parameters
weight_edep* total deposited energy in accepted clusters
weight_nclusters* number of accepted clusters
weight_ncells* total number of cells in accepted clusters.
If sum of weighed parameters exceeds
threshold12there is more than 1 neutron
Returns
Estimated number of neutrons

Definition at line 645 of file BmnNdetClusterFinder.cxx.

References BmnNdetCluster::EnergyDeposited(), GetCluster(), BmnNdetCluster::GetNCells(), and kIsNeutron.

◆ CalculateNumberOfNeutrons() [2/2]

Int_t BmnNdetClusterFinder::CalculateNumberOfNeutrons ( Double_t  weight_edep = 1.,
Double_t  weight_ncells = 0.01,
Double_t  weight_nclusters = 0.05,
Double_t  threshold12 = 0. 
)

Estimate number of neutrons based on:

Parameters
weight_edep* total deposited energy in accepted clusters
weight_nclusters* number of accepted clusters
weight_ncells* total number of cells in accepted clusters.
If sum of weighed parameters exceeds
threshold12there is more than 1 neutron
Returns
Estimated number of neutrons

◆ Clear() [1/2]

void BmnNdetClusterFinder::Clear ( )

Clear all vectors, set fNCells=0.

Definition at line 671 of file BmnNdetClusterFinder.cxx.

References GetNColumns(), GetNLayers(), GetNRows(), and i.

◆ Clear() [2/2]

void BmnNdetClusterFinder::Clear ( )

Clear all vectors, set fNCells=0.

◆ Fill() [1/2]

void BmnNdetClusterFinder::Fill ( 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 
)

Add cell to the list of fired cells For correct work of the code it is needed that columns, rows and layers were enumerated from 0, not 1 !

Parameters
cellindex of cell in BmnNdetCell array in BmnNdetEvent object.
columnindex of column. It must be enumerated starting from 0. The column number must increase in the same direction as X axis.
rowindex of row. It must be enumerated starting from 0. The row number must increase in the same direction as Y axis.
layerindex of layer. It must be enumerated starting from 0. The layer number must increase in the same direction as Z axis.
xX coordinate of the fired cell
yY coordinate of the fired cell
zZ coordinate of the fired cell
tTime of actuation of the fired cell
e_depEnergy deposited in cell [GeV]

Definition at line 35 of file BmnNdetClusterFinder.cxx.

References GetNColumns(), GetNLayers(), GetNRows(), i, and kIsNotUsed.

◆ Fill() [2/2]

void BmnNdetClusterFinder::Fill ( 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 
)

Add cell to the list of fired cells For correct work of the code it is needed that columns, rows and layers were enumerated from 0, not 1 !

Parameters
cellindex of cell in BmnNdetCell array in BmnNdetEvent object.
columnindex of column. It must be enumerated starting from 0. The column number must increase in the same direction as X axis.
rowindex of row. It must be enumerated starting from 0. The row number must increase in the same direction as Y axis.
layerindex of layer. It must be enumerated starting from 0. The layer number must increase in the same direction as Z axis.
xX coordinate of the fired cell
yY coordinate of the fired cell
zZ coordinate of the fired cell
tTime of actuation of the fired cell
e_depEnergy deposited in cell [GeV]

◆ FindClusters1() [1/2]

Int_t BmnNdetClusterFinder::FindClusters1 ( )

Main method of a class.
The clusters are groups of neighbouring cells. Time and deposited energies are not taken into account.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.
This algorithm loops over cells in order of ascending time.

Returns
number of recognized clusters

Definition at line 241 of file BmnNdetClusterFinder.cxx.

References AddCellToCluster(), AddCluster(), BmnNdetCluster::GetColumns(), BmnNdetCluster::GetLayers(), GetNCells(), GetNColumns(), GetNLayers(), GetNRows(), BmnNdetCluster::GetRows(), iX, iY, iZ, and kIsNotUsed.

◆ FindClusters1() [2/2]

Int_t BmnNdetClusterFinder::FindClusters1 ( )

Main method of a class.
The clusters are groups of neighbouring cells. Time and deposited energies are not taken into account.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.
This algorithm loops over cells in order of ascending time.

Returns
number of recognized clusters

◆ FindClusters1_2() [1/2]

Int_t BmnNdetClusterFinder::FindClusters1_2 ( )

Main method of a class.
The clusters are groups of neighbouring cells. Time and deposited energies are not taken into account.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.
This algorithm loops over cells in order of ascending time.
If the cluster starts from veto layer, include to cluster all cells with the same row and column

Returns
number of recognized clusters

Definition at line 293 of file BmnNdetClusterFinder.cxx.

References AddCellToCluster(), AddCluster(), BmnNdetCluster::GetColumns(), BmnNdetCluster::GetLayers(), GetNCells(), GetNColumns(), GetNLayers(), GetNRows(), BmnNdetCluster::GetRows(), iX, iY, iZ, and kIsNotUsed.

◆ FindClusters1_2() [2/2]

Int_t BmnNdetClusterFinder::FindClusters1_2 ( )

Main method of a class.
The clusters are groups of neighbouring cells. Time and deposited energies are not taken into account.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.
This algorithm loops over cells in order of ascending time.
If the cluster starts from veto layer, include to cluster all cells with the same row and column

Returns
number of recognized clusters

◆ FindClusters2() [1/2]

Int_t BmnNdetClusterFinder::FindClusters2 ( )

Main method of a class.
The clusters are groups of neighbouring cells.
Time and deposited energies are not taken into account.
This algorithm loops over cells in order of descending speed.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.

Returns
number of recognized clusters

Definition at line 359 of file BmnNdetClusterFinder.cxx.

References AddCellToCluster(), AddCluster(), BmnNdetCluster::GetColumns(), BmnNdetCluster::GetLayers(), GetNCells(), GetNColumns(), GetNLayers(), GetNRows(), BmnNdetCluster::GetRows(), iX, iY, iZ, and kIsNotUsed.

◆ FindClusters2() [2/2]

Int_t BmnNdetClusterFinder::FindClusters2 ( )

Main method of a class.
The clusters are groups of neighbouring cells.
Time and deposited energies are not taken into account.
This algorithm loops over cells in order of descending speed.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.

Returns
number of recognized clusters

◆ FindClusters2_2() [1/2]

Int_t BmnNdetClusterFinder::FindClusters2_2 ( )

Main method of a class.
The clusters are groups of neighbouring cells.
One more layer is added for checking (the gap of 1 layer doesn't count)
Time and deposited energies are not taken into account.
This algorithm loops over cells in order of descending speed.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.

Returns
number of recognized clusters

Definition at line 411 of file BmnNdetClusterFinder.cxx.

References AddCellToCluster(), AddCluster(), BmnNdetCluster::GetColumns(), BmnNdetCluster::GetLayers(), GetNCells(), GetNColumns(), GetNLayers(), GetNRows(), BmnNdetCluster::GetRows(), iX, iY, iZ, and kIsNotUsed.

◆ FindClusters2_2() [2/2]

Int_t BmnNdetClusterFinder::FindClusters2_2 ( )

Main method of a class.
The clusters are groups of neighbouring cells.
One more layer is added for checking (the gap of 1 layer doesn't count)
Time and deposited energies are not taken into account.
This algorithm loops over cells in order of descending speed.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.

Returns
number of recognized clusters

◆ FindClusters3() [1/2]

Int_t BmnNdetClusterFinder::FindClusters3 ( Double_t  cut_beta = 0.03)

Main method of a class.
The clusters are groups of neighbouring cells.
If difference of beta between cells > cut_beta, start a new cluster. Time and deposited energies are not taken into account.
This algorithm loops over cells in order of descending speed.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.

Returns
number of recognized clusters

Definition at line 463 of file BmnNdetClusterFinder.cxx.

References AddCellToCluster(), AddCluster(), BmnNdetCluster::GetColumns(), BmnNdetCluster::GetLayers(), GetNCells(), GetNColumns(), GetNLayers(), GetNRows(), BmnNdetCluster::GetRows(), iX, iY, iZ, kIsNotUsed, and kIsUsed.

◆ FindClusters3() [2/2]

Int_t BmnNdetClusterFinder::FindClusters3 ( Double_t  cut_beta = 0.03)

Main method of a class.
The clusters are groups of neighbouring cells.
If difference of beta between cells > cut_beta, start a new cluster. Time and deposited energies are not taken into account.
This algorithm loops over cells in order of descending speed.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.

Returns
number of recognized clusters

◆ FindClusters4() [1/2]

Int_t BmnNdetClusterFinder::FindClusters4 ( Double_t  cut_beta = 0.01)

Second method of searching for the clusters.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.
This algorithm loops over cells in order of ascending time.
While checking neighbouring cell, the time of flight between cells is taken into account. The cell is added to the cluster, if the speed of propagation of the hadronic shower between the cells is the same as the speed of initial neutron.

Parameters
cut_betamaximum difference between beta of propagation of shower and beta calculated from the first cell in cluster.
Returns
number of recognized clusters

Definition at line 519 of file BmnNdetClusterFinder.cxx.

References AddCellToCluster(), AddCluster(), BmnNdetCluster::BetaFirst(), BmnNdetCluster::GetColumns(), BmnNdetCluster::GetLayers(), GetNCells(), GetNColumns(), GetNLayers(), GetNRows(), BmnNdetCluster::GetRows(), BmnNdetCluster::GetTime(), BmnNdetCluster::GetX(), BmnNdetCluster::GetY(), BmnNdetCluster::GetZ(), iX, iY, iZ, kIsNotUsed, kIsUsed, and z0.

◆ FindClusters4() [2/2]

Int_t BmnNdetClusterFinder::FindClusters4 ( Double_t  cut_beta = 0.01)

Second method of searching for the clusters.
Before you use it, you must fill data with BmnNdetClusterFinder::Fill() method.
This algorithm loops over cells in order of ascending time.
While checking neighbouring cell, the time of flight between cells is taken into account. The cell is added to the cluster, if the speed of propagation of the hadronic shower between the cells is the same as the speed of initial neutron.

Parameters
cut_betamaximum difference between beta of propagation of shower and beta calculated from the first cell in cluster.
Returns
number of recognized clusters

◆ GetBeta() [1/2]

vector< Double_t > BmnNdetClusterFinder::GetBeta ( )
Returns
Vector of beta calculated as Beta = v/c, v = d/t

Definition at line 181 of file BmnNdetClusterFinder.cxx.

◆ GetBeta() [2/2]

vector< Double_t > BmnNdetClusterFinder::GetBeta ( )
Returns
Vector of beta calculated as Beta = v/c, v = d/t

◆ GetCells() [1/2]

vector< Int_t > BmnNdetClusterFinder::GetCells ( )
Returns
Vector of indices of all fired cells in event

Definition at line 145 of file BmnNdetClusterFinder.cxx.

◆ GetCells() [2/2]

vector< Int_t > BmnNdetClusterFinder::GetCells ( )
Returns
Vector of indices of all fired cells in event

◆ GetClassName() [1/2]

virtual const char * BmnNdetClusterFinder::GetClassName ( )
inlinevirtual

Definition at line 296 of file BmnNdetClusterFinder.h.

◆ GetClassName() [2/2]

virtual const char * BmnNdetClusterFinder::GetClassName ( )
inlinevirtual

Definition at line 296 of file BmnNdetClusterFinder.h.

◆ GetCluster() [1/2]

BmnNdetCluster * BmnNdetClusterFinder::GetCluster ( Int_t  i_cluster)

Get BmnNdetCluster object

Parameters
i_clusterindex of recognized cluster
Returns
pointer to BmnNdetCluster object

Definition at line 186 of file BmnNdetClusterFinder.cxx.

Referenced by AddCellToCluster(), CalculateNumberOfNeutrons(), MergeClusters(), and SelectNeutrons().

◆ GetCluster() [2/2]

BmnNdetCluster * BmnNdetClusterFinder::GetCluster ( Int_t  i_cluster)

Get BmnNdetCluster object

Parameters
i_clusterindex of recognized cluster
Returns
pointer to BmnNdetCluster object

◆ GetClusterStatus() [1/2]

Int_t BmnNdetClusterFinder::GetClusterStatus ( Int_t  i_cluster)

Status of a cluster. It is assigned to the cluster when applying BmnNdetClusterFinder::SelectNeutrons() method.

Parameters
i_clusterindex of BmnNdetCluster object
Returns
status of a cluster (see eClusterStatus for details)

Definition at line 193 of file BmnNdetClusterFinder.cxx.

References kNoCluster.

◆ GetClusterStatus() [2/2]

Int_t BmnNdetClusterFinder::GetClusterStatus ( Int_t  i_cluster)

Status of a cluster. It is assigned to the cluster when applying BmnNdetClusterFinder::SelectNeutrons() method.

Parameters
i_clusterindex of BmnNdetCluster object
Returns
status of a cluster (see eClusterStatus for details)

◆ GetColumns() [1/2]

vector< Int_t > BmnNdetClusterFinder::GetColumns ( )
Returns
Vector of column numbers of all fired cells in event

Definition at line 149 of file BmnNdetClusterFinder.cxx.

◆ GetColumns() [2/2]

vector< Int_t > BmnNdetClusterFinder::GetColumns ( )
Returns
Vector of column numbers of all fired cells in event

◆ GetEdep() [1/2]

vector< Double_t > BmnNdetClusterFinder::GetEdep ( )
Returns
Vector of energies deposited in all fired cells in event [GeV]

Definition at line 177 of file BmnNdetClusterFinder.cxx.

◆ GetEdep() [2/2]

vector< Double_t > BmnNdetClusterFinder::GetEdep ( )
Returns
Vector of energies deposited in all fired cells in event [GeV]

◆ GetLayers() [1/2]

vector< Int_t > BmnNdetClusterFinder::GetLayers ( )
Returns
Vector of layer numbers of all fired cells in event

Definition at line 157 of file BmnNdetClusterFinder.cxx.

◆ GetLayers() [2/2]

vector< Int_t > BmnNdetClusterFinder::GetLayers ( )
Returns
Vector of layer numbers of all fired cells in event

◆ GetNCells() [1/4]

Int_t BmnNdetClusterFinder::GetNCells ( )
Returns
Number of cells in event

Definition at line 115 of file BmnNdetClusterFinder.cxx.

Referenced by FindClusters1(), FindClusters1_2(), FindClusters2(), FindClusters2_2(), FindClusters3(), and FindClusters4().

◆ GetNCells() [2/4]

Int_t BmnNdetClusterFinder::GetNCells ( )
Returns
Number of cells in event

◆ GetNCells() [3/4]

Int_t BmnNdetClusterFinder::GetNCells ( Double_t  threshold)

Number of cells in event with deposited energy higher than threshold

Parameters
thresholdminimal deposited energy in counted cells
Returns
number of cells with edep > threshold

Definition at line 120 of file BmnNdetClusterFinder.cxx.

◆ GetNCells() [4/4]

Int_t BmnNdetClusterFinder::GetNCells ( Double_t  threshold)

Number of cells in event with deposited energy higher than threshold

Parameters
thresholdminimal deposited energy in counted cells
Returns
number of cells with edep > threshold

◆ GetNClusters() [1/2]

Int_t BmnNdetClusterFinder::GetNClusters ( )
Returns
Number of recognized clusters

Definition at line 110 of file BmnNdetClusterFinder.cxx.

◆ GetNClusters() [2/2]

Int_t BmnNdetClusterFinder::GetNClusters ( )
Returns
Number of recognized clusters

◆ GetNColumns() [1/2]

Int_t BmnNdetClusterFinder::GetNColumns ( )
Returns
Number of columns in detector. Used for iteration of cells along X coordinate.

Definition at line 130 of file BmnNdetClusterFinder.cxx.

Referenced by Clear(), Fill(), FindClusters1(), FindClusters1_2(), FindClusters2(), FindClusters2_2(), FindClusters3(), FindClusters4(), SelectNeutrons(), and ~BmnNdetClusterFinder().

◆ GetNColumns() [2/2]

Int_t BmnNdetClusterFinder::GetNColumns ( )
Returns
Number of columns in detector. Used for iteration of cells along X coordinate.

◆ GetNLayers() [1/2]

Int_t BmnNdetClusterFinder::GetNLayers ( )
Returns
Number of Layers in detector. Used for iteration of cells along Z coordinate.

Definition at line 140 of file BmnNdetClusterFinder.cxx.

Referenced by Clear(), Fill(), FindClusters1(), FindClusters1_2(), FindClusters2(), FindClusters2_2(), FindClusters3(), FindClusters4(), and SelectNeutrons().

◆ GetNLayers() [2/2]

Int_t BmnNdetClusterFinder::GetNLayers ( )
Returns
Number of Layers in detector. Used for iteration of cells along Z coordinate.

◆ GetNRows() [1/2]

Int_t BmnNdetClusterFinder::GetNRows ( )
Returns
Number of rows in detector. Used for iteration of cells along Y coordinate.

Definition at line 135 of file BmnNdetClusterFinder.cxx.

Referenced by Clear(), Fill(), FindClusters1(), FindClusters1_2(), FindClusters2(), FindClusters2_2(), FindClusters3(), FindClusters4(), SelectNeutrons(), and ~BmnNdetClusterFinder().

◆ GetNRows() [2/2]

Int_t BmnNdetClusterFinder::GetNRows ( )
Returns
Number of rows in detector. Used for iteration of cells along Y coordinate.

◆ GetRows() [1/2]

vector< Int_t > BmnNdetClusterFinder::GetRows ( )
Returns
Vector of row numbers of all fired cells in event

Definition at line 153 of file BmnNdetClusterFinder.cxx.

◆ GetRows() [2/2]

vector< Int_t > BmnNdetClusterFinder::GetRows ( )
Returns
Vector of row numbers of all fired cells in event

◆ GetTime() [1/2]

vector< Double_t > BmnNdetClusterFinder::GetTime ( )
Returns
Vector of time of actuation of all fired cells in event [ns]

Definition at line 173 of file BmnNdetClusterFinder.cxx.

◆ GetTime() [2/2]

vector< Double_t > BmnNdetClusterFinder::GetTime ( )
Returns
Vector of time of actuation of all fired cells in event [ns]

◆ GetX() [1/2]

vector< Double_t > BmnNdetClusterFinder::GetX ( )
Returns
Vector of X coordinates of all fired cells in event [cm]

Definition at line 161 of file BmnNdetClusterFinder.cxx.

◆ GetX() [2/2]

vector< Double_t > BmnNdetClusterFinder::GetX ( )
Returns
Vector of X coordinates of all fired cells in event [cm]

◆ GetY() [1/2]

vector< Double_t > BmnNdetClusterFinder::GetY ( )
Returns
Vector of Y coordinates of all fired cells in event [cm]

Definition at line 165 of file BmnNdetClusterFinder.cxx.

◆ GetY() [2/2]

vector< Double_t > BmnNdetClusterFinder::GetY ( )
Returns
Vector of Y coordinates of all fired cells in event [cm]

◆ GetZ() [1/2]

vector< Double_t > BmnNdetClusterFinder::GetZ ( )
Returns
Vector of Z coordinates of all fired cells in event [cm]

Definition at line 169 of file BmnNdetClusterFinder.cxx.

◆ GetZ() [2/2]

vector< Double_t > BmnNdetClusterFinder::GetZ ( )
Returns
Vector of Z coordinates of all fired cells in event [cm]

◆ MergeClusters() [1/2]

Int_t BmnNdetClusterFinder::MergeClusters ( Int_t  i_cluster_1,
Int_t  i_cluster_2 
)

Merge clusters
The cells of cluster with maximal i_cluster are added to the cluster with minimal i_cluster
The cluster with maximal i_cluster is destroyed.
If i_cluster_1==i_cluster_2, cancel merging.

Parameters
i_cluster_1first cluster
i_cluster_2second cluster
Returns
Number of clusters after merging

Definition at line 603 of file BmnNdetClusterFinder.cxx.

References BmnNdetCluster::AddCell(), BmnNdetCluster::GetBeta(), GetCluster(), BmnNdetCluster::GetColumns(), BmnNdetCluster::GetEdep(), BmnNdetCluster::GetLayers(), BmnNdetCluster::GetNCells(), BmnNdetCluster::GetRows(), BmnNdetCluster::GetTime(), BmnNdetCluster::GetX(), BmnNdetCluster::GetY(), BmnNdetCluster::GetZ(), max(), and min().

◆ MergeClusters() [2/2]

Int_t BmnNdetClusterFinder::MergeClusters ( Int_t  i_cluster_1,
Int_t  i_cluster_2 
)

Merge clusters
The cells of cluster with maximal i_cluster are added to the cluster with minimal i_cluster
The cluster with maximal i_cluster is destroyed.
If i_cluster_1==i_cluster_2, cancel merging.

Parameters
i_cluster_1first cluster
i_cluster_2second cluster
Returns
Number of clusters after merging

◆ Print() [1/2]

void BmnNdetClusterFinder::Print ( )

Print.

Definition at line 706 of file BmnNdetClusterFinder.cxx.

References i.

◆ Print() [2/2]

void BmnNdetClusterFinder::Print ( )

Print.

◆ SelectNeutrons() [1/2]

Int_t BmnNdetClusterFinder::SelectNeutrons ( Double_t  cut_angle = 45.,
Int_t  cut_ncells = 3,
Bool_t  check_border = kFALSE 
)

Select neutrons

Parameters
cut_angleaccept, if BmnNdetCluster::AngleToTarget() < cut_angle
cut_ncellsaccept, if BmnNdetCluster::GetNCells() >= cut_ncells
check_borderuse BmnNdetCluster::StartsOnBorder() check
Returns
number of found neutrons

Definition at line 625 of file BmnNdetClusterFinder.cxx.

References BmnNdetCluster::AngleToTarget(), GetCluster(), BmnNdetCluster::GetNCells(), GetNColumns(), GetNLayers(), GetNRows(), kIsNeutron, kNotNeutron, and BmnNdetCluster::StartsOnBorder().

◆ SelectNeutrons() [2/2]

Int_t BmnNdetClusterFinder::SelectNeutrons ( Double_t  cut_angle = 45.,
Int_t  cut_ncells = 3,
Bool_t  check_border = kFALSE 
)

Select neutrons

Parameters
cut_angleaccept, if BmnNdetCluster::AngleToTarget() < cut_angle
cut_ncellsaccept, if BmnNdetCluster::GetNCells() >= cut_ncells
check_borderuse BmnNdetCluster::StartsOnBorder() check
Returns
number of found neutrons

◆ SetClusterStatus() [1/2]

void BmnNdetClusterFinder::SetClusterStatus ( Int_t  i_cluster,
eClusterStatus  status 
)

Set status of a cluster.

Parameters
i_clusterindex of BmnNdetCluster object
statusstatus of a cluster (see eClusterStatus for details)

Definition at line 200 of file BmnNdetClusterFinder.cxx.

◆ SetClusterStatus() [2/2]

void BmnNdetClusterFinder::SetClusterStatus ( Int_t  i_cluster,
eClusterStatus  status 
)

Set status of a cluster.

Parameters
i_clusterindex of BmnNdetCluster object
statusstatus of a cluster (see eClusterStatus for details)

The documentation for this class was generated from the following files: