#ifndef MARS_MHNewImagePar
#define MARS_MHNewImagePar

#ifndef MARS_MH
#include "MH.h"
#endif
#ifndef ROOT_TH1
#include <TH1.h>
#endif

class MHillas;

class MHNewImagePar : public MH
{
private:
    TH1F fHistLeakage1;  //
    TH1F fHistLeakage2;  //

    TH1F fHistUsedPix;   // Number of used pixels
    TH1F fHistCorePix;   // Number of core pixels

    TH1F fHistUsedArea;  // Area of used pixels
    TH1F fHistCoreArea;  // Area of core pixels

    TH1F fHistConc;      // [ratio] concentration ratio: sum of the two highest pixels / fSize
    TH1F fHistConc1;     // [ratio] concentration ratio: sum of the highest pixel / fSize

    Float_t fMm2Deg;
    Bool_t  fUseMmScale;

public:
    MHNewImagePar(const char *name=NULL, const char *title=NULL);

    Bool_t SetupFill(const MParList *plist);
    Bool_t Fill(const MParContainer *par, const Stat_t w=1);

    TH1 *GetHistByName(const TString name) const;
    TObject *FindObject(const TObject *obj) const { return 0; }
    TObject *FindObject(const char *name) const
    {
        return (TObject*)GetHistByName(name);
    }

    TH1F &GetHistLeakage1()  { return fHistLeakage1; }
    TH1F &GetHistLeakage2()  { return fHistLeakage2; }

    TH1F &GetHistUsedPix()   { return fHistUsedPix; }
    TH1F &GetHistCorePix()   { return fHistCorePix; }

    TH1F &GetHistUsedArea()  { return fHistUsedArea; }
    TH1F &GetHistCoreArea()  { return fHistCoreArea; }

    TH1F &GetHistConc()      { return fHistConc; }
    TH1F &GetHistConc1()     { return fHistConc1; }

    void SetMmScale(Bool_t mmscale=kTRUE);
    virtual void SetMm2Deg(Float_t mmdeg);

    void Draw(Option_t *opt="");
    void Paint(Option_t *opt="");

    ClassDef(MHNewImagePar, 1) // Histograms of new image parameters
};

#endif


