X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONDEPainter.cxx;h=0a586c58c67dbb377c39bd0bd756fcf56d14cd58;hb=cfeca9e2dd81b0679af4ca066aae11467fb9a5db;hp=d298e9e38aabc701aad58bd66e2090ad4d61fd99;hpb=10eb3d173dd4f09822d4f0197ebc0b701dcfb429;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONDEPainter.cxx b/MUON/AliMUONDEPainter.cxx index d298e9e38aa..0a586c58c67 100644 --- a/MUON/AliMUONDEPainter.cxx +++ b/MUON/AliMUONDEPainter.cxx @@ -20,7 +20,7 @@ #include "AliMUONBusPatchPainter.h" #include "AliMUONGeometryTransformer.h" #include "AliMUONPCBPainter.h" -#include "AliMUONPainterContour.h" +#include "AliMUONContour.h" #include "AliMUONPainterHelper.h" #include "AliMUONVCalibParam.h" #include "AliMUONVTrackerData.h" @@ -32,7 +32,9 @@ #include "AliMpSector.h" #include "AliMpSlat.h" #include "AliLog.h" +#include #include +#include "AliMUONPainterGroup.h" /// \class AliMUONDEPainter /// @@ -54,6 +56,14 @@ fDetElemId(-1) /// default ctor } +//_____________________________________________________________________________ +AliMUONDEPainter::AliMUONDEPainter(TRootIOCtor* ioCtor) +: AliMUONVPainter(ioCtor), +fDetElemId(-1) +{ + /// default streaming ctor +} + //_____________________________________________________________________________ AliMUONDEPainter::AliMUONDEPainter(const AliMUONAttPainter& att, Int_t detElemId) : AliMUONVPainter("DE"), @@ -120,8 +130,8 @@ fDetElemId(detElemId) { const AliMpSector* sector = h->GetSector(DetElemId(),planeType); - Double_t xl(sector->Dimensions().X()); - Double_t yl(sector->Dimensions().Y()); + Double_t xl(sector->GetDimensionX()); + Double_t yl(sector->GetDimensionY()); h->Local2Global(fDetElemId,xl,yl,0.0,x,y,z); } @@ -130,7 +140,7 @@ fDetElemId(detElemId) AliFatal("Not implemented for trigger !!!"); } - AliMUONPainterContour* contour = h->GetContour(ContourName()); + AliMUONContour* contour = h->GetContour(ContourName()); TObjArray contourArray; @@ -250,7 +260,15 @@ AliMUONDEPainter::FillManuList(TObjArray& manuList) const } } } - + +//_____________________________________________________________________________ +Bool_t +AliMUONDEPainter::IsIncluded() const +{ + /// whether this detection element is included in the readout or not + return ( InteractiveReadOutConfig()->DetectionElement(fDetElemId) > 0 ); +} + //_____________________________________________________________________________ void AliMUONDEPainter::PaintArea(const AliMUONVTrackerData& data, Int_t dataIndex, @@ -266,7 +284,7 @@ AliMUONDEPainter::PaintArea(const AliMUONVTrackerData& data, Int_t dataIndex, Int_t color = AliMUONPainterHelper::Instance()->ColorFromValue(value,min,max); - Contour()->PaintArea(color); + PaintArea(color); } //_____________________________________________________________________________ @@ -310,8 +328,8 @@ AliMUONDEPainter::Validate(const AliMUONAttPainter& attributes) const AliMp::CathodType cathode = AliMpDEManager::GetCathod(fDetElemId,planeType); - if ( cathode == AliMp::kCath0 && norm.IsCathode1() || - cathode == AliMp::kCath1 && norm.IsCathode0() ) + if ( (cathode == AliMp::kCath0 && norm.IsCathode1()) || + (cathode == AliMp::kCath1 && norm.IsCathode0()) ) { norm.SetValid(kFALSE); } @@ -320,3 +338,39 @@ AliMUONDEPainter::Validate(const AliMUONAttPainter& attributes) const return norm; } +//_____________________________________________________________________________ +void +AliMUONDEPainter::SetResponder(Int_t depth) +{ + /// Select as responder the *first* group that has a given depth + + AliDebug(1,Form("depth=%d",depth)); + + if (!fPainterGroups) + { + CreateGroups(); + } + + TIter next(fPainterGroups); + TObjString* str; + + fResponderGroup = 0x0; + + while ( ( str = static_cast(next()) ) ) + { + AliMUONPainterGroup* group = static_cast(fPainterGroups->GetValue(str)); + if ( str->String() == "BUSPATCH" ) + { + AliDebug(1,Form("group %s is indeed buspatch, using as responder %d", + group->Type(),depth)); + group->SetResponder(kTRUE); + fResponderGroup = group; + break; + } + else + { + group->SetResponder(kFALSE); + } + } +} +