32 TMapIter *it = (TMapIter*)
hit2neigh.MakeIterator();
39 TMapIter *it2 = (TMapIter*)
hit2indiv.MakeIterator();
68 TObjArray *neighs =
new TObjArray(*hits);
73 if(hits->GetEntriesFast() == 0)
fStandalone.Add(hit);
74 else if(hits->GetEntriesFast() == 1)
fOneNeigh.Add(hit);
75 else if(hits->GetEntriesFast() == 2)
fTwoNeigh.Add(hit);
81 if(hits->GetEntriesFast() <= 2) {
88 std::vector< int > removefromlist;
90 for(
int k = 0; k < hits->GetEntriesFast(); k++) {
94 removefromlist.push_back(k);
101 for(
int k = removefromlist.size() - 1; k >=0; k--) {
102 int delk = removefromlist[k];
109 TObjArray *hits2 =
new TObjArray();
110 for(
int iobj = 0; iobj < hits->GetEntriesFast(); iobj++) hits2->Add(hits->At(iobj));
112 for(
int k = hits2->GetEntriesFast() - 1; k >=0; k--) {
127 for(
int ihit = 0; ihit <
fOneNeigh.GetEntriesFast(); ihit++) {
134 if(neighs.GetEntriesFast() == 1) {
138 bool difflayer =
false;
142 if(neighs2.GetEntriesFast() <= 1)
continue;
145 for(
int jhit = 0; jhit < neighs2.GetEntriesFast(); jhit++) {
147 if(hit2b == hit)
continue;
152 if(difflayer ==
true)
continue;
173 TObjArray candidateseeds;
176 for(
int ihit = 0; ihit <
fTwoNeigh.GetEntriesFast(); ihit++) {
186 bool difflayer =
false;
187 for(
int jhit = 0; jhit < neighs.GetEntriesFast(); jhit++) {
193 if(difflayer ==
false)
continue;
194 candidateseeds.Add(hit);
197 for(
int jhit = 0; jhit < neighs.GetEntriesFast(); jhit++) {
204 if(samelayer == standalone) candidateseeds.Add(hit);
207 return candidateseeds;
215 TMapIter *it2 = (TMapIter*)
hit2indiv.MakeIterator();
219 return *((TObjArray*)
hit2indiv.GetValue(hit2));
226 TMapIter *it2 = (TMapIter*)
hit2indiv.MakeIterator();
230 cout <<
hit->GetHitID() <<
"(tube: " <<
hit->GetTubeID() <<
") has " << hits2->GetEntriesFast() <<
" indivisibles: ";
231 for(
int ihit = 0; ihit < hits2->GetEntriesFast(); ihit++) {
245 TMapIter *it2 = (TMapIter*)
hit2neigh.MakeIterator();
249 return *((TObjArray*)
hit2neigh.GetValue(hit2));
259 return (TMapIter*)
hit2neigh.MakeIterator();
263 TObjArray listofhits;
265 TMapIter *it = (TMapIter*)
hit2neigh.MakeIterator();
269 if(hits->GetEntriesFast() == nofhits) listofhits.Add(
hit);
void AddNeighboringsToHit(PndTrkHit *hit, TObjArray *hits)
TObjArray GetHitWithNNeighborings(int nofhits)
PndTrkNeighboringMap & operator=(const PndTrkNeighboringMap &thismap)
TObjArray GetNeighboringsToHit(PndTrkHit *hit)
cout<< "POINTs for new FwEndCap == "<< tsim-> GetEntriesFast()
void PrintIndivisibleMap()
PndTrkNeighboringMap(TClonesArray *tubearray)
TClonesArray * fTubeArray
int hit(Int_t nEvents=0, TString inFile="sim.root", TString parFile="par.root", TString inDigi="digi.root", TString outFile="hit.root", Int_t timeBased=0)
TObjArray GetIndivisiblesToHit(PndTrkHit *hit)
TObjArray GetIndivisibles()