FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PndSdsStripClusterer Class Referenceabstract

#include <PndSdsStripClusterer.h>

Inheritance diagram for PndSdsStripClusterer:
PndSdsSimpleStripClusterFinder PndSdsStripAdvClusterFinder

Public Member Functions

 PndSdsStripClusterer (Int_t DigiType)
 
virtual ~PndSdsStripClusterer ()
 
void Reinit ()
 
void AddDigi (Int_t sensorID, SensorSide side, Int_t timestamp, Int_t strip, Int_t iDigi)
 
void ClearDigis ()
 
virtual std::vector
< PndSdsClusterStrip * > 
SearchClusters ()=0
 
std::vector< PndSdsClusterStrip * > GetClusters () const
 
PndSdsClusterStripGetCluster (Int_t i)
 
PndSdsClusterStripGetTopCluster (Int_t i)
 
PndSdsClusterStripGetBotCluster (Int_t i)
 
std::vector< Int_t > GetTopClusterIDs () const
 
std::vector< Int_t > GetBotClusterIDs () const
 
std::vector< Int_t > GetLeftDigiIDs () const
 
void SetDigiType (Int_t digiType)
 

Protected Member Functions

void AddCluster (const std::vector< Int_t > &onecluster, SensorSide side)
 
 ClassDef (PndSdsStripClusterer, 3)
 

Protected Attributes

Fullmap fSortedDigis
 
std::vector< Int_t > fTopclusters
 
std::vector< Int_t > fBotclusters
 
std::vector< Int_t > fLeftDigis
 
std::vector< PndSdsClusterStrip * > fClusters
 
Int_t fDigiType
 

Detailed Description

Definition at line 31 of file PndSdsStripClusterer.h.

Constructor & Destructor Documentation

PndSdsStripClusterer::PndSdsStripClusterer ( Int_t  DigiType)

Definition at line 17 of file PndSdsStripClusterer.cxx.

References SetDigiType().

18 : fSortedDigis(),
19  fTopclusters(),
20  fBotclusters(),
21  fLeftDigis(),
22  fClusters(),
23  fDigiType(-1)
24 {
25  SetDigiType(DigiType);
26 }
std::vector< PndSdsClusterStrip * > fClusters
std::vector< Int_t > fLeftDigis
std::vector< Int_t > fTopclusters
std::vector< Int_t > fBotclusters
void SetDigiType(Int_t digiType)
PndSdsStripClusterer::~PndSdsStripClusterer ( )
virtual

Definition at line 28 of file PndSdsStripClusterer.cxx.

29 {
30 }

Member Function Documentation

void PndSdsStripClusterer::AddCluster ( const std::vector< Int_t > &  onecluster,
SensorSide  side 
)
protected

Definition at line 86 of file PndSdsStripClusterer.cxx.

References fBotclusters, fClusters, fDigiType, fTopclusters, kBOTTOM, kTOP, and PndSdsClusterStrip::SetSensorSide().

Referenced by PndSdsSimpleStripClusterFinder::SearchClusters(), and PndSdsStripAdvClusterFinder::SearchClusters().

87 {
88  Int_t clindex = fClusters.size();
89  if(side == kBOTTOM)
90  {
91  fBotclusters.push_back(clindex);
92  // Info("PndSdsStripClusterer::AddCluster","Adding Cluster number %i to the bottom list.",clindex);
93  } else if(side == kTOP)
94  {
95  fTopclusters.push_back(clindex);
96  // Info("AddCluster","Adding Cluster number %i to the top list.",clindex);
97  }
98  PndSdsClusterStrip* cl = new PndSdsClusterStrip(fDigiType, onecluster);
99  cl->SetSensorSide(side);
100  fClusters.push_back(cl);
101 }
std::vector< PndSdsClusterStrip * > fClusters
std::vector< Int_t > fTopclusters
std::vector< Int_t > fBotclusters
void SetSensorSide(SensorSide s)
void PndSdsStripClusterer::AddDigi ( Int_t  sensorID,
SensorSide  side,
Int_t  timestamp,
Int_t  strip,
Int_t  iDigi 
)

Definition at line 45 of file PndSdsStripClusterer.cxx.

References fSortedDigis.

Referenced by PndSdsStripClusterTask::FillClusterFinders().

46 {
47  fSortedDigis[sensorID][side][1][strip] = iDigi;
48  //[R.K.30.3.'12] Defunc timestamp binning as it comes in ns precision.
49  //TODO: invent soemthing better with timestamp!
50  // fSortedDigis[sensorID][side][timestamp][strip] = iDigi;
51 }
PndSdsStripClusterer::ClassDef ( PndSdsStripClusterer  ,
 
)
protected
void PndSdsStripClusterer::ClearDigis ( )
inline

Definition at line 39 of file PndSdsStripClusterer.h.

References fSortedDigis.

39 {fSortedDigis.clear();}
PndSdsClusterStrip * PndSdsStripClusterer::GetBotCluster ( Int_t  i)

Definition at line 74 of file PndSdsStripClusterer.cxx.

References fBotclusters, GetCluster(), and i.

75 {
76  if(0<=i && (Int_t)fBotclusters.size() < i)
77  return GetCluster(fBotclusters[i]);
78  else {
79  Fatal("GetBotCluster","fBotclusters out of bounds i=%i at size=%zu",i,fBotclusters.size());
80  }
81  return NULL;
82 }
Int_t i
Definition: run_full.C:25
std::vector< Int_t > fBotclusters
PndSdsClusterStrip * GetCluster(Int_t i)
std::vector< Int_t > PndSdsStripClusterer::GetBotClusterIDs ( ) const
inline

Definition at line 47 of file PndSdsStripClusterer.h.

References fBotclusters.

Referenced by PndLmdStripClusterTask::Exec(), and PndSdsStripClusterTask::Exec().

47 {return fBotclusters;}
std::vector< Int_t > fBotclusters
PndSdsClusterStrip * PndSdsStripClusterer::GetCluster ( Int_t  i)

Definition at line 54 of file PndSdsStripClusterer.cxx.

References fClusters, and i.

Referenced by GetBotCluster(), and GetTopCluster().

55 {
56  if(0<=i && (Int_t)fClusters.size() < i)
57  return fClusters[i];
58  else{
59  Fatal("GetCluster","fClusters out of bounds i=%i at size=%zu",i,fClusters.size());
60  }
61  return NULL;
62 }
std::vector< PndSdsClusterStrip * > fClusters
Int_t i
Definition: run_full.C:25
std::vector< PndSdsClusterStrip* > PndSdsStripClusterer::GetClusters ( ) const
inline

Definition at line 42 of file PndSdsStripClusterer.h.

References fClusters.

42 {return fClusters;}
std::vector< PndSdsClusterStrip * > fClusters
std::vector< Int_t > PndSdsStripClusterer::GetLeftDigiIDs ( ) const
inline

Definition at line 48 of file PndSdsStripClusterer.h.

References fLeftDigis.

Referenced by PndLmdStripClusterTask::Exec(), and PndSdsStripClusterTask::Exec().

48 {return fLeftDigis;}
std::vector< Int_t > fLeftDigis
PndSdsClusterStrip * PndSdsStripClusterer::GetTopCluster ( Int_t  i)

Definition at line 64 of file PndSdsStripClusterer.cxx.

References fTopclusters, GetCluster(), and i.

65 {
66  if(0<=i && (Int_t)fTopclusters.size() < i)
67  return GetCluster(fTopclusters[i]);
68  else{
69  Fatal("GetTopCluster","fTopclusters out of bounds i=%i at size=%zu",i,fTopclusters.size());
70  }
71  return NULL;
72 }
Int_t i
Definition: run_full.C:25
std::vector< Int_t > fTopclusters
PndSdsClusterStrip * GetCluster(Int_t i)
std::vector< Int_t > PndSdsStripClusterer::GetTopClusterIDs ( ) const
inline

Definition at line 46 of file PndSdsStripClusterer.h.

References fTopclusters.

Referenced by PndLmdStripClusterTask::Exec(), and PndSdsStripClusterTask::Exec().

46 {return fTopclusters;}
std::vector< Int_t > fTopclusters
void PndSdsStripClusterer::Reinit ( )

Definition at line 36 of file PndSdsStripClusterer.cxx.

References fBotclusters, fClusters, fLeftDigis, fSortedDigis, and fTopclusters.

37 {
38  fSortedDigis.clear();
39  fClusters.clear();
40  fTopclusters.clear();
41  fBotclusters.clear();
42  fLeftDigis.clear();
43 }
std::vector< PndSdsClusterStrip * > fClusters
std::vector< Int_t > fLeftDigis
std::vector< Int_t > fTopclusters
std::vector< Int_t > fBotclusters
virtual std::vector< PndSdsClusterStrip* > PndSdsStripClusterer::SearchClusters ( )
pure virtual
void PndSdsStripClusterer::SetDigiType ( Int_t  digiType)
inline

Definition at line 50 of file PndSdsStripClusterer.h.

References fDigiType.

Referenced by PndSdsStripClusterer().

50 {fDigiType = digiType;}

Member Data Documentation

std::vector< Int_t > PndSdsStripClusterer::fBotclusters
protected
std::vector< PndSdsClusterStrip* > PndSdsStripClusterer::fClusters
protected
Int_t PndSdsStripClusterer::fDigiType
protected

Definition at line 61 of file PndSdsStripClusterer.h.

Referenced by AddCluster(), and SetDigiType().

std::vector< Int_t > PndSdsStripClusterer::fLeftDigis
protected
Fullmap PndSdsStripClusterer::fSortedDigis
protected
std::vector< Int_t > PndSdsStripClusterer::fTopclusters
protected

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