X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=RALICE%2FAliDevice.cxx;h=89f917c8f2f1b34f08e1afb1a61d5509fc46dc64;hb=82a2d8315c1033fd32ddafd304f5ca6c7399b62c;hp=9f3715ce4c00bc55cb53ea03db884e459108886b;hpb=4962c850498fbc5e43642148216b3215186dabee;p=u%2Fmrichter%2FAliRoot.git diff --git a/RALICE/AliDevice.cxx b/RALICE/AliDevice.cxx index 9f3715ce4c0..89f917c8f2f 100644 --- a/RALICE/AliDevice.cxx +++ b/RALICE/AliDevice.cxx @@ -331,6 +331,28 @@ AliSignal* AliDevice::GetHit(Int_t j) const } } /////////////////////////////////////////////////////////////////////////// +AliSignal* AliDevice::GetHit(TString name) const +{ +// Provide the AliSignal object registered as hit with the specified name. +// Note : The first hit encountered with the specified name will be provided. + + if (!fHits) return 0; + + TString hitname; + Int_t nhits=GetNhits(); + for (Int_t i=0; iAt(i); + if (sx) + { + hitname=sx->GetName(); + if (hitname == name) return sx; + } + } + + return 0; // No matching name found +} +/////////////////////////////////////////////////////////////////////////// AliSignal* AliDevice::GetIdHit(Int_t id) const { // Return the hit with unique identifier "id". @@ -560,8 +582,8 @@ TObjArray* AliDevice::SortHits(Int_t idx,Int_t mode,TObjArray* hits,Int_t mcal) break; // go for next hit } - if (mode==-1 && s->GetSignal(idx,mcal) < ((AliSignal*)fOrdered->At(j))->GetSignal(idx,mcal)) continue; - if (mode==1 && s->GetSignal(idx,mcal) > ((AliSignal*)fOrdered->At(j))->GetSignal(idx,mcal)) continue; + if (mode==-1 && s->GetSignal(idx,mcal) <= ((AliSignal*)fOrdered->At(j))->GetSignal(idx,mcal)) continue; + if (mode==1 && s->GetSignal(idx,mcal) >= ((AliSignal*)fOrdered->At(j))->GetSignal(idx,mcal)) continue; nord++; for (Int_t k=nord-1; k>j; k--) // create empty position @@ -645,8 +667,8 @@ TObjArray* AliDevice::SortHits(TString name,Int_t mode,TObjArray* hits,Int_t mca break; // go for next hit } - if (mode==-1 && s->GetSignal(idx,mcal) < ((AliSignal*)fOrdered->At(j))->GetSignal(idx,mcal)) continue; - if (mode==1 && s->GetSignal(idx,mcal) > ((AliSignal*)fOrdered->At(j))->GetSignal(idx,mcal)) continue; + if (mode==-1 && s->GetSignal(idx,mcal) <= ((AliSignal*)fOrdered->At(j))->GetSignal(idx,mcal)) continue; + if (mode==1 && s->GetSignal(idx,mcal) >= ((AliSignal*)fOrdered->At(j))->GetSignal(idx,mcal)) continue; nord++; for (Int_t k=nord-1; k>j; k--) // create empty position @@ -707,7 +729,7 @@ void AliDevice::DisplayHits(Int_t idx,Float_t scale,TObjArray* hits,Int_t dp,Int if (scale<0) { Float_t vmin,vmax; - GetExtremes(vmin,vmax,idx,hits); + GetExtremes(vmin,vmax,idx,hits,mode); sigmax=fabs(vmax); if (fabs(vmin)>sigmax) sigmax=fabs(vmin); } @@ -743,6 +765,10 @@ void AliDevice::DisplayHits(Int_t idx,Float_t scale,TObjArray* hits,Int_t dp,Int } } sig=sx->GetSignal(idx,mode); + + // Skip dead signals + if (fabs(sig) <= 0.) continue; + TPolyMarker3D* m=new TPolyMarker3D(); m->SetMarkerStyle(8); m->SetMarkerColor(mcol); @@ -803,7 +829,7 @@ void AliDevice::DisplayHits(TString name,Float_t scale,TObjArray* hits,Int_t dp, if (scale<0) { Float_t vmin,vmax; - GetExtremes(vmin,vmax,name,hits); + GetExtremes(vmin,vmax,name,hits,mode); sigmax=fabs(vmax); if (fabs(vmin)>sigmax) sigmax=fabs(vmin); } @@ -842,6 +868,10 @@ void AliDevice::DisplayHits(TString name,Float_t scale,TObjArray* hits,Int_t dp, } } sig=sx->GetSignal(idx,mode); + + // Skip dead signals + if (fabs(sig) <= 0.) continue; + TPolyMarker3D* m=new TPolyMarker3D(); m->SetMarkerStyle(8); m->SetMarkerColor(mcol);