Ignore:
Timestamp:
02/13/02 16:40:37 (23 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mhist
Files:
5 edited

Legend:

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

    r1210 r1216  
    3939#include <TCanvas.h>
    4040
     41#include "MLog.h"
     42#include "MLogManip.h"
     43
     44#include "MGeomCam.h"
    4145#include "MHillas.h"
    4246#include "MParList.h"
     
    4953//
    5054MHHillas::MHHillas(const char *name, const char *title)
     55    : fMm2Deg(1), fUseMmScale(kFALSE)
    5156{
    5257    //
     
    6166    // connect all the histogram with the container fHist
    6267    //
    63     fWidth  = new TH1F("Width [mm]",  "Width of Hillas",  100, 0, 300);
    64     fLength = new TH1F("Length [mm]", "Length of Hillas", 100, 0, 300);
     68    fWidth  = new TH1F("Width",  "Width of Ellipse",  100, 0, 300);
     69    fLength = new TH1F("Length", "Length of Ellipse", 100, 0, 300);
    6570
    6671    fLength->SetDirectory(NULL);
     
    8994// instances of MBinning (with the names 'BinningWidth' and 'BinningLength')
    9095// are found in the parameter list
     96// Use this function if you want to set the conversion factor which
     97// is used to convert the mm-scale in the camera plain into the deg-scale
     98// used for histogram presentations. The conversion factor is part of
     99// the camera geometry. Please create a corresponding MGeomCam container.
    91100//
    92101Bool_t MHHillas::SetupFill(const MParList *plist)
     
    94103    const MBinning* binsw = (MBinning*)plist->FindObject("BinningWidth");
    95104    const MBinning* binsl = (MBinning*)plist->FindObject("BinningLength");
    96 
    97     if (binsw)
    98         SetBinning(fWidth, binsw);
    99 
    100     if (binsl)
    101         SetBinning(fLength, binsl);
     105    if (!binsw || !binsl)
     106    {
     107        *fLog << err << dbginf << "At least one MBinning not found... aborting." << endl;
     108        return kFALSE;
     109    }
     110
     111    SetBinning(fWidth,  binsw);
     112    SetBinning(fLength, binsl);
     113
     114    const MGeomCam *geom = (MGeomCam*)plist->FindObject("MGeomCam");
     115    if (!geom)
     116    {
     117        *fLog << warn << dbginf << "No Camera Geometry available. Using mm-scale for histograms." << endl;
     118        return kTRUE;
     119    }
     120
     121    fLength->GetXaxis()->SetTitle("Length [\\circ]");
     122    fWidth->GetXaxis()->SetTitle("Width [\\circ]");
     123
     124    fMm2Deg = geom->GetConvMm2Deg();
    102125
    103126    return kTRUE;
     
    113136    const MHillas &h = *(MHillas*)par;
    114137
    115     fWidth ->Fill(h.GetWidth());
    116     fLength->Fill(h.GetLength());
     138    if (fUseMmScale)
     139    {
     140        fWidth ->Fill(h.GetWidth());
     141        fLength->Fill(h.GetLength());
     142    }
     143    else
     144    {
     145        fWidth ->Fill(fMm2Deg*h.GetWidth());
     146        fLength->Fill(fMm2Deg*h.GetLength());
     147    }
    117148
    118149    return kTRUE;
  • trunk/MagicSoft/Mars/mhist/MHHillas.h

    r1210 r1216  
    1515    TH1F *fLength;
    1616
     17    Float_t fMm2Deg;
     18
     19    Bool_t fUseMmScale;
     20
    1721public:
    1822    MHHillas(const char *name=NULL, const char *title=NULL);
    1923    ~MHHillas();
     24
     25    void SetMmScale(Bool_t mmscale=kTRUE) { fUseMmScale = mmscale; }
    2026
    2127    Bool_t SetupFill(const MParList *pList);
  • trunk/MagicSoft/Mars/mhist/MHHillasSrc.cc

    r1210 r1216  
    3838#include <TCanvas.h>
    3939
     40#include "MLog.h"
     41#include "MLogManip.h"
     42
     43#include "MGeomCam.h"
     44
    4045#include "MParList.h"
    4146
     
    6267    // connect all the histogram with the container fHist
    6368    //
    64     fAlpha = new TH1F("Alpha [deg]", "Alpha of Hillas",   90, 0,  90);
    65     fDist  = new TH1F("Dist [mm]",   "Dist of Hillas",   100, 0, 600);
     69    fAlpha = new TH1F("Alpha", "Alpha of Ellipse",   90, 0,  90);
     70    fDist  = new TH1F("Dist",  "Dist of Ellipse",   100, 0, 600);
    6671
    6772    fAlpha->SetDirectory(NULL);
     
    9095// instances of MBinning (with the names 'BinningAlpha' and 'BinningDist')
    9196// are found in the parameter list
     97// Use this function if you want to set the conversion factor which
     98// is used to convert the mm-scale in the camera plain into the deg-scale
     99// used for histogram presentations. The conversion factor is part of
     100// the camera geometry. Please create a corresponding MGeomCam container.
    92101//
    93102Bool_t MHHillasSrc::SetupFill(const MParList *plist)
     
    95104    const MBinning* binsa = (MBinning*)plist->FindObject("BinningAlpha");
    96105    const MBinning* binsd = (MBinning*)plist->FindObject("BinningDist");
    97 
    98     if (binsa)
    99         SetBinning(fAlpha, binsa);
    100 
    101     if (binsd)
    102         SetBinning(fDist, binsd);
     106    if (!binsa || !binsd)
     107    {
     108        *fLog << err << dbginf << "At least one MBinning not found... aborting." << endl;
     109        return kFALSE;
     110    }
     111
     112    SetBinning(fAlpha, binsa);
     113    SetBinning(fDist,  binsd);
     114
     115    const MGeomCam *geom = (MGeomCam*)plist->FindObject("MGeomCam");
     116    if (!geom)
     117    {
     118        *fLog << warn << dbginf << "No Camera Geometry available. Using mm-scale for histograms." << endl;
     119        return kTRUE;
     120    }
     121
     122    fDist->GetXaxis()->SetTitle("Dist [\\circ]");
     123
     124    fMm2Deg = geom->GetConvMm2Deg();
    103125
    104126    return kTRUE;
     
    115137
    116138    fAlpha->Fill(fabs(h.GetAlpha()));
    117     fDist ->Fill(h.GetDist());
     139    fDist ->Fill(fUseMmScale ? h.GetDist() : fMm2Deg*h.GetDist());
    118140
    119141    return kTRUE;
  • trunk/MagicSoft/Mars/mhist/MHHillasSrc.h

    r1210 r1216  
    1515    TH1F *fDist;
    1616
     17    Float_t fMm2Deg;
     18    Bool_t  fUseMmScale;
     19
    1720public:
    1821    MHHillasSrc(const char *name=NULL, const char *title=NULL);
    1922    ~MHHillasSrc();
     23
     24    void SetUseMmScale(Bool_t mmscale=kTRUE) { fUseMmScale = mmscale; }
    2025
    2126    Bool_t SetupFill(const MParList *pList);
  • trunk/MagicSoft/Mars/mhist/Makefile

    r1211 r1216  
    2222#  connect the include files defined in the config.mk file
    2323#
    24 INCLUDES = -I. -I../mbase -I../mraw -I../manalysis -I../mmc
     24INCLUDES = -I. -I../mbase -I../mraw -I../manalysis -I../mmc -I../mgui
    2525
    2626#------------------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.