CbmRoot
Loading...
Searching...
No Matches
CbmClusteringSL.h
Go to the documentation of this file.
1/* Copyright (C) 2012-2016 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Grigory Kozlov, Andrey Lebedev [committer], Florian Uhlig */
4
5/*
6 * CbmClusteringSL.h
7 *
8 * Created on: Apr 10, 2012
9 * Author: kozlov
10 */
11
12#ifndef CBMCLUSTERINGSL_H_
13#define CBMCLUSTERINGSL_H_
14
16#include "FairTask.h"
17
18#include <vector>
19
21 public:
24 virtual ~CbmClusteringSL();
25
26 void SLRec1(CbmClusteringGeometry* moduleGeo,
27 Int_t activePad); //Recursive function for all neighbours
28 void SLRec2(CbmClusteringGeometry* moduleGeo,
29 Int_t activePad); //Recursive function for vertical and horizontal neighbours
31 Int_t algVersion); //Clustering function
32
33 Int_t GetNofClusters() const { return fNofClusters; }
34 Int_t GetNofPads() const { return fNofPads; }
35 Int_t GetNofActivePads() const { return fNofActivePads; }
36
37 //Int_t GetCluster(Int_t iCluster);
38 Float_t GetX0(Int_t iCluster);
39 Float_t GetY0(Int_t iCluster);
40 UInt_t GetClCharge(Int_t iCluster);
41 Int_t GetNofPads(Int_t iCluster);
42 Int_t GetPadInCluster(Int_t iCluster, Int_t iPad);
43
44 private:
45 Int_t fNofPads; //Number of pads in module
46 Int_t fNofActivePads; //Number of charged pads in module
47
48 UInt_t* fA1; //Primary array of charges
49 Bool_t* fS; //Array of states
50 Int_t* fNumbersOfPads; //Array of relations Pad/Cluster
51
52 Int_t fNofClusters; //Number of found clusters in module
53 struct Cluster { //Description of clusters
54 //Int_t fNofCluster;
55 Float_t fX;
56 Float_t fY;
57 UInt_t fCharge;
58 Int_t fNofPads;
59 std::vector<Int_t> fPadsInCluster;
60 };
62
65};
66
67#endif /* CBMCLUSTERINGSL_H_ */
virtual ~CbmClusteringSL()
void SLRec2(CbmClusteringGeometry *moduleGeo, Int_t activePad)
Int_t GetNofPads() const
CbmClusteringSL(const CbmClusteringSL &)
Float_t GetY0(Int_t iCluster)
Int_t GetNofActivePads() const
void MainClusteringSL(CbmClusteringGeometry *moduleGeo, Int_t algVersion)
Int_t GetPadInCluster(Int_t iCluster, Int_t iPad)
Float_t GetX0(Int_t iCluster)
CbmClusteringSL & operator=(const CbmClusteringSL &)
void SLRec1(CbmClusteringGeometry *moduleGeo, Int_t activePad)
Int_t GetNofClusters() const
UInt_t GetClCharge(Int_t iCluster)
std::vector< Int_t > fPadsInCluster