#ifndef HShowerCalParCalculator_H
#define HShowerCalParCalculator_H
#include "hreconstructor.h"
#include "hlocation.h"
#include "hparset.h"
class HCategory;
class HIterator;
#define HSCPC_DEF_METHOD      0
#define HSCPC_DEF_PARAM_1   0.0f
#define HSCPC_DEF_PARAM_2   0.0f
class HShowerCalParCalculator : public HReconstructor
{
public:
    HShowerCalParCalculator(Int_t iMethod,
                            Float_t fParam1 = HSCPC_DEF_PARAM_1,
                            Float_t fParam2 = HSCPC_DEF_PARAM_2);
    HShowerCalParCalculator(const Text_t *name,const Text_t *title,
                            Int_t iMethod,
                            Float_t fParam1 = HSCPC_DEF_PARAM_1,
                            Float_t fParam2 = HSCPC_DEF_PARAM_2);
    HShowerCalParCalculator(const Text_t *name,const Text_t *title,
                            const Text_t *nameOfMethod,
                            Float_t fParam1 = HSCPC_DEF_PARAM_1,
                            Float_t fParam2 = HSCPC_DEF_PARAM_2);
   ~HShowerCalParCalculator();
    Bool_t      init(void);
    Bool_t      reinit(void);
    Bool_t      finalize(void);
    Int_t       execute(void);
    HParSet*    getCalPar()     { return m_pCalPar;     }
    HParSet*    getCalParHist() { return m_pCalParHist; }
    void        setCalPar(HParSet*);
    void        setCalParHist(HParSet*);
    void        initCalPar();
    
    void        setMethod(Int_t iMethod);
    void        setMethod(const Char_t* pMethod);
    Int_t       getMethod(void)         { return m_iMethod; }
    const Char_t* getMethodName(void);
    void        setParam1(Float_t fP)   { m_fParam1 = fP;    }
    Float_t     getParam1(void)         { return m_fParam1;  }
    void        setParam2(Float_t fP)   { m_fParam2 = fP;    }
    Float_t     getParam2(void)         { return m_fParam2;  }
    
private:
    void        clearAtBegin(Int_t iMethod, Float_t fParam1, Float_t fParam2);
    
private:
    Int_t       m_nExecutes;
    Int_t       m_nPeaksNumber;
    Int_t       m_iMethod;
    Float_t     m_fParam1;
    Float_t     m_fParam2;
    HLocation   m_zeroLoc;
    HLocation   m_loc;
    HCategory  *m_pRawCat; 
    HParSet    *m_pCalPar; 
    HParSet    *m_pCalParHist;
    HIterator  *fIter;
    ClassDef(HShowerCalParCalculator, 0) 
};
#endif
 hshowercalparcalculator.h:1  hshowercalparcalculator.h:2  hshowercalparcalculator.h:3  hshowercalparcalculator.h:4  hshowercalparcalculator.h:5  hshowercalparcalculator.h:6  hshowercalparcalculator.h:7  hshowercalparcalculator.h:8  hshowercalparcalculator.h:9  hshowercalparcalculator.h:10  hshowercalparcalculator.h:11  hshowercalparcalculator.h:12  hshowercalparcalculator.h:13  hshowercalparcalculator.h:14  hshowercalparcalculator.h:15  hshowercalparcalculator.h:16  hshowercalparcalculator.h:17  hshowercalparcalculator.h:18  hshowercalparcalculator.h:19  hshowercalparcalculator.h:20  hshowercalparcalculator.h:21  hshowercalparcalculator.h:22  hshowercalparcalculator.h:23  hshowercalparcalculator.h:24  hshowercalparcalculator.h:25  hshowercalparcalculator.h:26  hshowercalparcalculator.h:27  hshowercalparcalculator.h:28  hshowercalparcalculator.h:29  hshowercalparcalculator.h:30  hshowercalparcalculator.h:31  hshowercalparcalculator.h:32  hshowercalparcalculator.h:33  hshowercalparcalculator.h:34  hshowercalparcalculator.h:35  hshowercalparcalculator.h:36  hshowercalparcalculator.h:37  hshowercalparcalculator.h:38  hshowercalparcalculator.h:39  hshowercalparcalculator.h:40  hshowercalparcalculator.h:41  hshowercalparcalculator.h:42  hshowercalparcalculator.h:43  hshowercalparcalculator.h:44  hshowercalparcalculator.h:45  hshowercalparcalculator.h:46  hshowercalparcalculator.h:47  hshowercalparcalculator.h:48  hshowercalparcalculator.h:49  hshowercalparcalculator.h:50  hshowercalparcalculator.h:51  hshowercalparcalculator.h:52  hshowercalparcalculator.h:53  hshowercalparcalculator.h:54  hshowercalparcalculator.h:55  hshowercalparcalculator.h:56  hshowercalparcalculator.h:57  hshowercalparcalculator.h:58  hshowercalparcalculator.h:59  hshowercalparcalculator.h:60  hshowercalparcalculator.h:61  hshowercalparcalculator.h:62  hshowercalparcalculator.h:63  hshowercalparcalculator.h:64  hshowercalparcalculator.h:65  hshowercalparcalculator.h:66  hshowercalparcalculator.h:67  hshowercalparcalculator.h:68  hshowercalparcalculator.h:69  hshowercalparcalculator.h:70  hshowercalparcalculator.h:71  hshowercalparcalculator.h:72  hshowercalparcalculator.h:73  hshowercalparcalculator.h:74  hshowercalparcalculator.h:75  hshowercalparcalculator.h:76  hshowercalparcalculator.h:77  hshowercalparcalculator.h:78  hshowercalparcalculator.h:79  hshowercalparcalculator.h:80  hshowercalparcalculator.h:81  hshowercalparcalculator.h:82  hshowercalparcalculator.h:83  hshowercalparcalculator.h:84  hshowercalparcalculator.h:85  hshowercalparcalculator.h:86  hshowercalparcalculator.h:87  hshowercalparcalculator.h:88  hshowercalparcalculator.h:89  hshowercalparcalculator.h:90  hshowercalparcalculator.h:91  hshowercalparcalculator.h:92  hshowercalparcalculator.h:93