ROOT logo
#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; //!Pointer to the raw data category

    HParSet    *m_pCalPar; //!Pointer to the cal data category
    HParSet    *m_pCalParHist;

    HIterator  *fIter;

    ClassDef(HShowerCalParCalculator, 0) //ROOT extension
};

#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