FairRoot/PandaRoot
PndSdsStripClusterer.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndSdsStripClusterer header file -----
3 // ----- Converted 27.11.2007 from R.Jaekel by R.Kliemt -----
4 // -------------------------------------------------------------------------
5 
6 
14 #ifndef PNDSDSSTRIPCLUSTERBUILDER_H
15 #define PNDSDSSTRIPCLUSTERBUILDER_H
16 
17 
18 #include <vector>
19 #include <map>
20 #include <string>
21 
22 #include "PndSdsDigiStrip.h"
23 #include "PndSdsClusterStrip.h"
24 // #include "PndSdsStripCluster.h"
25 
26 typedef std::map<Int_t,Int_t> Indexpair;
27 typedef std::map<Int_t,Indexpair> Indextriple;
28 typedef std::map<SensorSide,Indextriple> SidedTriple;
29 typedef std::map<Int_t, SidedTriple > Fullmap;
30 
32  public:
33  PndSdsStripClusterer(Int_t DigiType);
34  virtual ~PndSdsStripClusterer();
35 
36  void Reinit();
37 
38  void AddDigi(Int_t sensorID, SensorSide side, Int_t timestamp, Int_t strip, Int_t iDigi);
39  void ClearDigis() {fSortedDigis.clear();}
40  virtual std::vector< PndSdsClusterStrip* > SearchClusters() = 0;
41 
42  std::vector< PndSdsClusterStrip* > GetClusters() const {return fClusters;}
46  std::vector< Int_t > GetTopClusterIDs() const {return fTopclusters;}
47  std::vector< Int_t > GetBotClusterIDs() const {return fBotclusters;}
48  std::vector< Int_t > GetLeftDigiIDs() const {return fLeftDigis;}
49 
50  void SetDigiType(Int_t digiType){fDigiType = digiType;}
51 
52 protected:
53 
54  void AddCluster(const std::vector< Int_t >& onecluster,SensorSide side);
56  std::vector< Int_t > fTopclusters;// contains index to fClusterArray
57  std::vector< Int_t > fBotclusters;// contains index to fClusterArray
58  std::vector< Int_t > fLeftDigis; // contains index to the not assigned digis
59  std::vector< PndSdsClusterStrip* > fClusters;
60 
61  Int_t fDigiType;
62 
64 };
65 
66 
67 
68 #endif // PndSdsStripClusterer
std::vector< PndSdsClusterStrip * > fClusters
std::vector< PndSdsClusterStrip * > GetClusters() const
Int_t i
Definition: run_full.C:25
std::map< Int_t, Indexpair > Indextriple
std::map< Int_t, Int_t > Indexpair
std::vector< Int_t > GetLeftDigiIDs() const
std::vector< Int_t > fLeftDigis
PndSdsStripClusterer(Int_t DigiType)
std::vector< Int_t > fTopclusters
std::vector< Int_t > fBotclusters
ClassDef(PndSdsStripClusterer, 3)
int strip
Definition: anaMvdDigi.C:135
std::vector< Int_t > GetBotClusterIDs() const
PndSdsClusterStrip * GetTopCluster(Int_t i)
void AddDigi(Int_t sensorID, SensorSide side, Int_t timestamp, Int_t strip, Int_t iDigi)
SensorSide
std::map< std::string, std::map< SensorSide, Indexpair > > Fullmap
std::vector< Int_t > GetTopClusterIDs() const
virtual std::vector< PndSdsClusterStrip * > SearchClusters()=0
PndSdsClusterStrip * GetCluster(Int_t i)
PndSdsClusterStrip * GetBotCluster(Int_t i)
std::map< SensorSide, Indextriple > SidedTriple
void AddCluster(const std::vector< Int_t > &onecluster, SensorSide side)
void SetDigiType(Int_t digiType)