CbmRoot
CbmClusteringSL.h
Go to the documentation of this file.
1 /*
2  * CbmClusteringSL.h
3  *
4  * Created on: Apr 10, 2012
5  * Author: kozlov
6  */
7 
8 #ifndef CBMCLUSTERINGSL_H_
9 #define CBMCLUSTERINGSL_H_
10 
11 #include "CbmClusteringGeometry.h"
12 #include "FairTask.h"
13 
14 #include <vector>
15 
17 public:
20  virtual ~CbmClusteringSL();
21 
22  void SLRec1(CbmClusteringGeometry* moduleGeo,
23  Int_t activePad); //Recursive function for all neighbours
24  void SLRec2(
25  CbmClusteringGeometry* moduleGeo,
26  Int_t
27  activePad); //Recursive function for vertical and horizontal neighbours
29  Int_t algVersion); //Clustering function
30 
31  Int_t GetNofClusters() const { return fNofClusters; }
32  Int_t GetNofPads() const { return fNofPads; }
33  Int_t GetNofActivePads() const { return fNofActivePads; }
34 
35  //Int_t GetCluster(Int_t iCluster);
36  Float_t GetX0(Int_t iCluster);
37  Float_t GetY0(Int_t iCluster);
38  UInt_t GetClCharge(Int_t iCluster);
39  Int_t GetNofPads(Int_t iCluster);
40  Int_t GetPadInCluster(Int_t iCluster, Int_t iPad);
41 
42 private:
43  Int_t fNofPads; //Number of pads in module
44  Int_t fNofActivePads; //Number of charged pads in module
45 
46  UInt_t* fA1; //Primary array of charges
47  Bool_t* fS; //Array of states
48  Int_t* fNumbersOfPads; //Array of relations Pad/Cluster
49 
50  Int_t fNofClusters; //Number of found clusters in module
51  struct Cluster { //Description of clusters
52  //Int_t fNofCluster;
53  Float_t fX;
54  Float_t fY;
55  UInt_t fCharge;
56  Int_t fNofPads;
57  std::vector<Int_t> fPadsInCluster;
58  };
60 
63 };
64 
65 #endif /* CBMCLUSTERINGSL_H_ */
CbmClusteringSL::GetClCharge
UInt_t GetClCharge(Int_t iCluster)
Definition: CbmClusteringSL.cxx:173
CbmClusteringSL::Cluster
Definition: CbmClusteringSL.h:51
CbmClusteringSL::GetX0
Float_t GetX0(Int_t iCluster)
Definition: CbmClusteringSL.cxx:167
CbmClusteringSL::fNumbersOfPads
Int_t * fNumbersOfPads
Definition: CbmClusteringSL.h:48
CbmClusteringSL::SLRec1
void SLRec1(CbmClusteringGeometry *moduleGeo, Int_t activePad)
Definition: CbmClusteringSL.cxx:69
CbmClusteringGeometry.h
CbmClusteringSL::GetY0
Float_t GetY0(Int_t iCluster)
Definition: CbmClusteringSL.cxx:170
CbmClusteringSL::fNofActivePads
Int_t fNofActivePads
Definition: CbmClusteringSL.h:44
CbmClusteringSL::fA1
UInt_t * fA1
Definition: CbmClusteringSL.h:46
CbmClusteringSL::fNofClusters
Int_t fNofClusters
Definition: CbmClusteringSL.h:50
CbmClusteringSL::CbmClusteringSL
CbmClusteringSL(const CbmClusteringSL &)
CbmClusteringSL::GetPadInCluster
Int_t GetPadInCluster(Int_t iCluster, Int_t iPad)
Definition: CbmClusteringSL.cxx:179
CbmClusteringSL::MainClusteringSL
void MainClusteringSL(CbmClusteringGeometry *moduleGeo, Int_t algVersion)
Definition: CbmClusteringSL.cxx:94
CbmClusteringSL::Cluster::fY
Float_t fY
Definition: CbmClusteringSL.h:54
CbmClusteringSL::GetNofClusters
Int_t GetNofClusters() const
Definition: CbmClusteringSL.h:31
CbmClusteringSL::operator=
CbmClusteringSL & operator=(const CbmClusteringSL &)
CbmClusteringSL
Definition: CbmClusteringSL.h:16
CbmClusteringSL::Cluster::fX
Float_t fX
Definition: CbmClusteringSL.h:53
CbmClusteringSL::fClusters
Cluster * fClusters
Definition: CbmClusteringSL.h:59
CbmClusteringSL::Cluster::fCharge
UInt_t fCharge
Definition: CbmClusteringSL.h:55
CbmClusteringSL::Cluster::fPadsInCluster
std::vector< Int_t > fPadsInCluster
Definition: CbmClusteringSL.h:57
CbmClusteringSL::GetNofActivePads
Int_t GetNofActivePads() const
Definition: CbmClusteringSL.h:33
CbmClusteringSL::CbmClusteringSL
CbmClusteringSL()
Definition: CbmClusteringSL.cxx:31
CbmClusteringSL::SLRec2
void SLRec2(CbmClusteringGeometry *moduleGeo, Int_t activePad)
Definition: CbmClusteringSL.cxx:81
CbmClusteringGeometry
Definition: CbmClusteringGeometry.h:17
CbmClusteringSL::fNofPads
Int_t fNofPads
Definition: CbmClusteringSL.h:43
CbmClusteringSL::fS
Bool_t * fS
Definition: CbmClusteringSL.h:47
CbmClusteringSL::GetNofPads
Int_t GetNofPads() const
Definition: CbmClusteringSL.h:32
CbmClusteringSL::Cluster::fNofPads
Int_t fNofPads
Definition: CbmClusteringSL.h:56
CbmClusteringSL::~CbmClusteringSL
virtual ~CbmClusteringSL()
Definition: CbmClusteringSL.cxx:62