//*-- Authors : Marcin Jaskula, Jerzy Pietraszko 11/10/2002
//            : code taken from HShowerHitFilnder and some old implemetation
//              of this class

#ifndef HShowerHitFinderIPU_H
#define HShowerHitFinderIPU_H

// -----------------------------------------------------------------------------

#include "hreconstructor.h"
#include "hlocation.h"
#include "hparset.h"
#include "hratree.h"

// -----------------------------------------------------------------------------

class HCategory;
class HIterator;
class HShowerCalIPU;
class HShowerHitIPU;

// -----------------------------------------------------------------------------

class HShowerHitFinderIPU : public HReconstructor
{
public:
            HShowerHitFinderIPU(void);
            HShowerHitFinderIPU(const Text_t *name,const Text_t *title,
                        Int_t iAlgFlag = 0, Int_t iThr1 = 0, Int_t iThr2 = 0);
            HShowerHitFinderIPU(Int_t iAlgFlag,
                        Int_t iThr1 = 0, Int_t iThr2 = 0);

           ~HShowerHitFinderIPU(void);

    // -------------------------------------------------------------------------

    Int_t   execute(void);
    Bool_t  init(void);
    Bool_t  finalize(void);
    Bool_t  initParameters(void);

    // -------------------------------------------------------------------------

    void    setAlgorithm(Int_t a)       { m_iAlgFlag = a;       }
    Int_t   getAlgorithm(void) const    { return m_iAlgFlag;    }
    void    setThreshold1(Int_t a)      { m_iThr1 = a;          }
    Int_t   getThreshold1(void) const   { return m_iThr1;       }
    void    setThreshold2(Int_t a)      { m_iThr2 = a;          }
    Int_t   getThreshold2(void) const   { return m_iThr2;       }
/*
Float_t calculateVar(HLocation &fLoc, Int_t nRange, Float_t avg);
HShowerHitFinderIPU &operator=(HShowerHitFinderIPU &c);

HCategory* getCalCat(){return m_pCalCat;}
HCategory* getHitCat(){return m_pHitCat;}
HCategory* getPIDCat(){return m_pPIDCat;}
HParSet* getHitFPar(){return m_pHitFPar;}
HParSet* getGeometry(){return m_pGeometry;}

void setCalCat(HCategory* pCalCat){m_pCalCat = pCalCat;}
void setHitCat(HCategory* pHitCat){m_pHitCat = pHitCat;}
void setPIDCat(HCategory* pPIDCat){m_pPIDCat = pPIDCat;}
void setHitFPar(HParSet* pPar){m_pHitFPar= pPar;}
void setGeometry(HParSet* pGeometry){m_pGeometry= pGeometry;}
void setCriterium(HShowerCriterium* pCrit);

Bool_t IsSortFlagSet(){return m_bIsSort;}
Bool_t IsFillPID(){return m_bIsFillPID;}
void setSortFlag(Bool_t bSort = kTRUE){m_bIsSort = bSort;}
void setFillPID(Bool_t bIsFillPID = kTRUE){m_bIsFillPID = bIsFillPID;}
*/

private:

    Int_t      m_iAlgFlag;  // flag for the algorithm
    Int_t      m_iThr1;     // thresholds
    Int_t      m_iThr2;

    HLocation  m_Loc;
    HRaTree   *m_pCellArr;  //random access table for searching local maxima

    HCategory *m_pCalCat;   //!Pointer to the cal data category
    HCategory *m_pHitCat;   //!Pointer to the hit data category

    HIterator *fIter;       //!Iterator for calibrated fired pads

    // -------------------------------------------------------------------------

    void    setDefault(void);
    Bool_t  lookForHit(HShowerCalIPU *pCal);
    void    fillSums(HShowerCalIPU *pCal, UShort_t nSum[3]);
    Bool_t  isLocalMax(HShowerCalIPU *pRef);

/*
void fillSums(HShowerHitIPU* hit, HLocation &fLoc);
virtual void calcCoord(HShowerHitIPU* hit, HLocation &fLoc);


void fillPID(HShowerHitIPU* hit, HShowerPID* pid);

HShowerHitHeader* getHitHeader(HLocation &fLoc);
void updateClusters(HLocation &fLoc);
void updateLocalMax(HLocation &fLoc);
void updateFiredCells(HLocation &fLoc);
*/

    ClassDef(HShowerHitFinderIPU, 0) //Searching Hits as PreSHOWER IPU
};

#endif

Last change: Sat May 22 13:13:43 2010
Last generated: 2010-05-22 13:13

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.