FairRoot/PandaRoot
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
PndSttTubeIdMap Class Reference

#include <PndSttTubeIdMap.h>

Inheritance diagram for PndSttTubeIdMap:

Public Member Functions

virtual ~PndSttTubeIdMap ()
 
vector< vector< int > > GetSector (int sector)
 
vector< int > GetRowInSector (int sector, int row)
 
int GetNTubesInRow (int sector, int row)
 
int GetNTubes ()
 
int GetTube (int sector, int row, int posInRow)
 
bool IsSkewed (int row)
 
void SetSkewedRows (std::vector< int > &values)
 
int GetTubeIdFlat (int index)
 
std::pair< int, int > GetSectorRowFromTubeId (int tubeId)
 
void AddTube (int sector, int row, int tubeId)
 

Static Public Member Functions

static PndSttTubeIdMapInstance ()
 

Private Member Functions

 PndSttTubeIdMap ()
 
 ClassDef (PndSttTubeIdMap, 1)
 

Private Attributes

vector< vector< vector< int > > > fTubeMap
 
vector< int > fFlatTubeMap
 
std::map< int, std::pair< int,
int > > 
fMapTubeIdSectorRow
 
std::vector< int > fSkewedRows
 

Static Private Attributes

static PndSttTubeIdMapfInstance = NULL
 

Detailed Description

Definition at line 18 of file PndSttTubeIdMap.h.

Constructor & Destructor Documentation

PndSttTubeIdMap::~PndSttTubeIdMap ( )
virtual

Definition at line 27 of file PndSttTubeIdMap.cxx.

27  {
28  // TODO Auto-generated destructor stub
29 }
PndSttTubeIdMap::PndSttTubeIdMap ( )
private

Definition at line 16 of file PndSttTubeIdMap.cxx.

References fSkewedRows.

Referenced by Instance().

16  {
17  fSkewedRows.push_back(10);
18  fSkewedRows.push_back(11);
19  fSkewedRows.push_back(12);
20  fSkewedRows.push_back(13);
21  fSkewedRows.push_back(14);
22  fSkewedRows.push_back(15);
23  fSkewedRows.push_back(16);
24  fSkewedRows.push_back(17);
25 }
std::vector< int > fSkewedRows

Member Function Documentation

void PndSttTubeIdMap::AddTube ( int  sector,
int  row,
int  tubeId 
)

Definition at line 38 of file PndSttTubeIdMap.cxx.

References fFlatTubeMap, fMapTubeIdSectorRow, fTubeMap, and row.

Referenced by PndSttTubeIdMapCreatorRoot::CreateTubeMap().

39 {
40  if (!(sector < fTubeMap.size())){
41  fTubeMap.resize(sector + 1);
42  }
43  if (!(row < fTubeMap[sector].size())){
44  fTubeMap[sector].resize(row + 1);
45  }
46  fTubeMap[sector][row].push_back(tubeId);
47  fMapTubeIdSectorRow[tubeId] = std::make_pair(sector, row);
48  fFlatTubeMap.push_back(tubeId);
49 }
int row
Definition: anaLmdDigi.C:67
std::map< int, std::pair< int, int > > fMapTubeIdSectorRow
vector< vector< vector< int > > > fTubeMap
vector< int > fFlatTubeMap
PndSttTubeIdMap::ClassDef ( PndSttTubeIdMap  ,
 
)
private
int PndSttTubeIdMap::GetNTubes ( )
inline

Definition at line 27 of file PndSttTubeIdMap.h.

References fFlatTubeMap.

27 { return fFlatTubeMap.size(); }
vector< int > fFlatTubeMap
int PndSttTubeIdMap::GetNTubesInRow ( int  sector,
int  row 
)
inline

Definition at line 26 of file PndSttTubeIdMap.h.

References fTubeMap, and row.

26 { return fTubeMap[sector][row].size(); }
int row
Definition: anaLmdDigi.C:67
vector< vector< vector< int > > > fTubeMap
vector<int> PndSttTubeIdMap::GetRowInSector ( int  sector,
int  row 
)
inline

Definition at line 25 of file PndSttTubeIdMap.h.

References fTubeMap, and row.

Referenced by PndSttTubeMapCreatorRoot::CreateTubeMap(), and PndSttNeighborhoodCreator::FindNeighbors().

25 { return fTubeMap[sector][row]; }
int row
Definition: anaLmdDigi.C:67
vector< vector< vector< int > > > fTubeMap
vector<vector<int> > PndSttTubeIdMap::GetSector ( int  sector)
inline

Definition at line 24 of file PndSttTubeIdMap.h.

References fTubeMap.

24 { return fTubeMap[sector]; }
vector< vector< vector< int > > > fTubeMap
std::pair<int, int> PndSttTubeIdMap::GetSectorRowFromTubeId ( int  tubeId)
inline

Definition at line 39 of file PndSttTubeIdMap.h.

References fMapTubeIdSectorRow.

Referenced by PndSttTubeCreator::GetTube(), PndSttTubeMapCreatorRoot::IsEdgeStraw(), and PndSttTubeMapCreatorRoot::IsSectorBorderStraw().

39  {
40  if (fMapTubeIdSectorRow.count(tubeId) > 0)
41  return fMapTubeIdSectorRow[tubeId];
42  else {
43  std::pair<int, int> noTubeId(-1, -1);
44  return noTubeId;
45  }
46  }
std::map< int, std::pair< int, int > > fMapTubeIdSectorRow
int PndSttTubeIdMap::GetTube ( int  sector,
int  row,
int  posInRow 
)
inline

Definition at line 28 of file PndSttTubeIdMap.h.

References fTubeMap, and row.

28 { return fTubeMap[sector][row][posInRow]; }
int row
Definition: anaLmdDigi.C:67
vector< vector< vector< int > > > fTubeMap
int PndSttTubeIdMap::GetTubeIdFlat ( int  index)
inline

Definition at line 32 of file PndSttTubeIdMap.h.

References fFlatTubeMap.

32  {
33  if (index < fFlatTubeMap.size())
34  return fFlatTubeMap[index];
35  else
36  return -1;
37  }
vector< int > fFlatTubeMap
PndSttTubeIdMap * PndSttTubeIdMap::Instance ( )
static
bool PndSttTubeIdMap::IsSkewed ( int  row)
inline

Definition at line 29 of file PndSttTubeIdMap.h.

References fSkewedRows, and row.

29 { return std::find(fSkewedRows.begin(), fSkewedRows.end(), row) != fSkewedRows.end(); }
int row
Definition: anaLmdDigi.C:67
std::vector< int > fSkewedRows
void PndSttTubeIdMap::SetSkewedRows ( std::vector< int > &  values)
inline

Definition at line 30 of file PndSttTubeIdMap.h.

References fSkewedRows.

30 { fSkewedRows = values; }
std::vector< int > fSkewedRows

Member Data Documentation

vector<int> PndSttTubeIdMap::fFlatTubeMap
private

Definition at line 54 of file PndSttTubeIdMap.h.

Referenced by AddTube(), GetNTubes(), and GetTubeIdFlat().

PndSttTubeIdMap * PndSttTubeIdMap::fInstance = NULL
staticprivate

Definition at line 52 of file PndSttTubeIdMap.h.

Referenced by Instance().

std::map<int, std::pair<int, int> > PndSttTubeIdMap::fMapTubeIdSectorRow
private

Definition at line 55 of file PndSttTubeIdMap.h.

Referenced by AddTube(), and GetSectorRowFromTubeId().

std::vector<int> PndSttTubeIdMap::fSkewedRows
private

Definition at line 56 of file PndSttTubeIdMap.h.

Referenced by IsSkewed(), PndSttTubeIdMap(), and SetSkewedRows().

vector< vector < vector <int> > > PndSttTubeIdMap::fTubeMap
private

Definition at line 53 of file PndSttTubeIdMap.h.

Referenced by AddTube(), GetNTubesInRow(), GetRowInSector(), GetSector(), and GetTube().


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