35 for (
int sector = 0; sector < 6; sector++) {
41 for (
int j = 0; j < vecRow.size(); j++) {
48 std::string nameString(path.Data());
50 std::vector < std::string > stringVector =
51 sep.GetStringVector();
53 std::find_if(stringVector.begin(), stringVector.end(),
54 [&](
const std::string&
val) {
auto found =
val.find(
"tubestt02");
return found != std::string::npos;});
55 int pos = std::distance(stringVector.begin(),
i);
56 int tubeType = std::stoi(stringVector[pos + 1]);
57 int cpyNum = std::stoi(stringVector[pos + 2]);
70 if (cpyNum > MaxCpyNum) {
85 for (
auto name : nodeNames){
91 result->
AddTube(tubeId, myTube);
98 std::map<int, PndSttTube*> tubeMap = result->
GetMap();
99 for (
auto tubePair : tubeMap){
112 TArrayI neighborArray;
113 for_each(neighbors.begin(), neighbors.end(), [&neighborArray](
int& id){
int size = neighborArray.GetSize(); neighborArray.Set(size + 1); neighborArray.AddAt(
id, size);});
125 if (sectorRow.first == 0 || sectorRow.first == 3) {
130 }
else if (sectorRow.first == 2 || sectorRow.first == 5) {
138 switch (sectorRow.first) {
140 endstraw =
sRowTubeID[sectorRow.first][sectorRow.second];
143 endstraw =
eRowTubeID[sectorRow.first][sectorRow.second];
146 endstraw =
sRowTubeID[sectorRow.first][sectorRow.second];
149 endstraw =
eRowTubeID[sectorRow.first][sectorRow.second];
154 return (tubeId == endstraw);
167 int endstrawcw =
sRowTubeID[sectorRow.first][sectorRow.second];
168 int endstrawccw =
eRowTubeID[sectorRow.first][sectorRow.second];
169 if ( tubeId == endstrawcw)
return -1;
170 if ( tubeId == endstrawccw)
return 1;
vector< int > GetRowInSector(int sector, int row)
int additionalSkewedTubeMap[4576]
PndSttTube * GetTube(int tubeId)
std::pair< int, int > GetSectorRowFromTubeId(int tubeId)
std::map< int, PndSttTube * > GetMap()
void SetLayerLimitFlag(Bool_t flag=kTRUE)
Double_t val[nBoxes][nFEBox]
std::vector< int > FindNeighbors(PndSttTube *tube)
void SetSectorLimitFlag(Int_t flag)
std::vector< TString > GetSensorNamesWithString(TString value)
TString GetPath(Int_t shortID)
for a given shortID the path is returned
void SetNeighborings(TArrayI neighborings)
static PndSttTubeMap * Instance()
bool IsEdgeStraw(int tubeId) const
static PndSttTubeIdMap * Instance()
PndSttTubeMap * CreateTubeMap()
Int_t GetShortID(TString path)
for a given path the (unique) position of the sensor path in the fSensorNamePar-List is given...
virtual ~PndSttTubeMapCreatorRoot()
static PndGeoHandling * Instance()
PndMvdCreateDefaultApvMap * creator
PndSttTubeMapCreatorRoot()
int IsSectorBorderStraw(int tubeId) const
void AssignNeighbors(PndSttTube *tube)
void AddTube(int tubeId, PndSttTube *tube)