Ignore:
Timestamp:
06/26/03 16:21:57 (21 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mhist
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mhist/MHCamera.cc

    r2231 r2236  
    364364    }
    365365
     366    if (min==max)
     367        max += 1;
     368
    366369    UpdateLegend(min, max, islog);
    367370
     
    506509void MHCamera::Paint(Option_t *o)
    507510{
    508     const TString opt(o);
    509 
    510     if (opt.Contains("hist", TString::kIgnoreCase))
    511     {
     511    TString opt(o);
     512    opt.ToLower();
     513
     514    if (opt.Contains("hist"))
     515    {
     516        opt.ReplaceAll("hist", "");
     517
    512518        Int_t mode = gStyle->GetOptStat();
    513519        TVirtualPad *save = gPad;
     
    525531    SetRange();
    526532
    527     Bool_t isbox = opt.Contains("box", TString::kIgnoreCase);
    528     Bool_t iscol = isbox ? !opt.Contains("nocol", TString::kIgnoreCase) : 1;
     533    Bool_t isbox = opt.Contains("box");
     534    Bool_t iscol = isbox ? !opt.Contains("nocol") : 1;
    529535
    530536    // Update Contents of the pixels and paint legend
     
    595601void MHCamera::DrawPixelIndices()
    596602{
     603    // FIXME: Is this correct?
    597604    for (int i=0; i<kItemsLegend; i++)
    598605        fColors[i] = 16;
     
    609616        TString num;
    610617        num += i;
     618
     619        const MGeomPix &h = (*fGeomCam)[i];
     620        TText *nt = txt.DrawText(h.GetX(), h.GetY(), num);
     621        nt->SetTextSize(0.3*h.GetD()/fGeomCam->GetMaxRadius());
     622    }
     623}
     624
     625void MHCamera::DrawSectorIndices()
     626{
     627    for (int i=0; i<kItemsLegend; i++)
     628        fColors[i] = 16;
     629
     630    if (!gPad)
     631        Draw();
     632
     633    TText txt;
     634    txt.SetTextFont(122);
     635    txt.SetTextAlign(22);   // centered/centered
     636
     637    for (Int_t i=0; i<fNcells-2; i++)
     638    {
     639        TString num;
     640        num += (*fGeomCam)[i].GetSector();
    611641
    612642        const MGeomPix &h = (*fGeomCam)[i];
     
    678708// Only 'used' pixels are added.
    679709//
    680 void MHCamera::AddCamContent(const TArrayD &event, Bool_t ispos)
     710void MHCamera::AddCamContent(const TArrayD &event, const TArrayC *used)
    681711{
    682712    if (event.GetSize()!=fNcells-2)
    683713        return;
    684714
     715    if (used && used->GetSize()!=fNcells-2)
     716        return;
     717
    685718    for (Int_t idx=0; idx<fNcells-2; idx++)
    686719    {
    687720        Fill(idx, const_cast<TArrayD&>(event)[idx]); // FIXME: Slow!
    688721
    689         if (!ispos || fArray[idx+1]>0)
     722        if (used && (*used)[idx])
    690723            SetUsed(idx);
    691724    }
     
    814847Int_t MHCamera::GetColor(Float_t val, Float_t min, Float_t max, Bool_t islog)
    815848{
     849    if (TMath::IsNaN(val)) // FIXME: gLog!
     850    {
     851        cout << "MHCamera::GetColor: " << GetName() << " <" << GetTitle() << "> - Color for val=NaN (Not a Number) requested... set val=min." << endl;
     852        val = min;
     853    }
     854
    816855    //
    817856    //   first treat the over- and under-flows
     
    833872    else
    834873        ratio = (val-min) / (max-min);
     874
    835875    const Int_t colidx = (Int_t)(ratio*maxcolidx + .5);
    836876    return fColors[colidx];
     
    930970        return TH1D::DistancetoPrimitive(px, py);
    931971
    932     Int_t dist = 999999;
    933 
    934972    for (Int_t i=0; i<fNcells-2; i++)
    935973    {
    936974        MHexagon hex((*fGeomCam)[i]);
    937         Int_t d = hex.DistancetoPrimitive(px, py);
    938 
    939         if (d<dist)
    940             dist=d;
    941     }
    942     return dist==0?0:999999;
     975        if (hex.DistancetoPrimitive(px, py)==0)
     976            return 0;
     977    }
     978    return 999999;
    943979}
    944980
  • trunk/MagicSoft/Mars/mhist/MHCamera.h

    r2229 r2236  
    9090    virtual void     AddCamContent(const MCamEvent &evt, Int_t type=0);
    9191    virtual void     AddCamContent(const MHCamera &evt, Int_t type=0);
    92     virtual void     AddCamContent(const TArrayD &arr, Bool_t ispos=kTRUE);
     92    virtual void     AddCamContent(const TArrayD &arr, const TArrayC *used=NULL);
    9393    virtual void     SetCamContent(const MCamEvent &evt, Int_t type=0) { Reset(); AddCamContent(evt, type); }
    94     virtual void     SetCamContent(const TArrayD &evt, Bool_t ispos=kTRUE) { Reset(); AddCamContent(evt, ispos); }
     94    virtual void     SetCamContent(const TArrayD &evt, const TArrayC *used=NULL) { Reset(); AddCamContent(evt, used); }
    9595    virtual void     SetCamContent(const MHCamera &d, Int_t type=0) { Reset(), AddCamContent(d, type); }
    9696    virtual void     CntCamContent(const MCamEvent &evt, Double_t threshold, Int_t type=0);
     
    111111
    112112    void  DrawPixelIndices();
     113    void  DrawSectorIndices();
    113114
    114115    void  PrintInfo() const { Print(""); } // *MENU*
Note: See TracChangeset for help on using the changeset viewer.