#ifndef HShowerHistCell_H
#define HShowerHistCell_H
#pragma interface
#include "hdataobject.h"
#include "hparset.h"
class TH3S;
class TH2F;
class HShowerCalPar;
class HShowerCalParCell;
class HShowerGeometry;
enum enum_HSHC_Methods
{
HSHC_CAL_TEST = 0,
HSHC_CAL_ELECT,
HSHC_RUN_SIGMA,
HSHC_RUN_THRESHOLD,
HSHC_CAL_SIGMA,
HSHC_CAL_THRESHOLD,
HSHC_RUN_INTEGRATE,
HSHC_CAL_INTEGRATE,
HSHC_MAX
};
extern const Char_t* g_cpstr_HSHC_Methods[];
#define MAX_OFFSET (-255.0f)
#define DEF_CHANNEL_10pC (50.0f)
class HShowerHistCell : public TObject
{
public:
HShowerHistCell();
HShowerHistCell(Int_t nSect, Int_t nMod, Int_t nRow, Int_t nCol);
~HShowerHistCell();
Bool_t reset();
Bool_t fill(Int_t nRow, Int_t nCol, Int_t nVal);
Bool_t draw(Int_t nRow, Int_t nCol, Option_t* opt="");
Bool_t book();
Bool_t book(Int_t nRows, Int_t nCols);
void deleteHist();
void calculate(Int_t iEvents, HShowerCalPar* pCalPar, Int_t iMethod,
Float_t fParam1, Float_t fParam2);
TH3S* getHistogram() { return m_pHist; }
void writeHistogram();
Char_t getSector(void) { return m_nSector; }
Char_t getModule(void) { return m_nModule; }
Char_t getRows(void) { return m_nRows; }
Char_t getCols(void) { return m_nCols; }
void setSector(Char_t s) { m_nSector = s; }
void setModule(Char_t m) { m_nModule = m; }
void setRows(Char_t r) { m_nRows = r; }
void setCols(Char_t c) { m_nCols = c; }
void setChannel10pC(Float_t f) { m_fChannel10pC = f; }
Float_t getChannel10pC(void) { return m_fChannel10pC; }
void setGeometry(HShowerGeometry* pGeom) { m_pGeom = pGeom;}
HShowerGeometry* getGeometry() { return m_pGeom;}
private:
void getName(Char_t* name, Int_t nInt);
void getTitle(Char_t* title, Int_t nInt);
void fillData(Int_t nRow, Int_t nCol, Int_t nBins, Int_t * pData);
Int_t getMax(void);
Float_t getMean(Int_t nMin, Int_t nMax, Int_t nThreshold);
Float_t getSigma(Float_t fMean, Int_t nMin, Int_t nMax, Int_t nThreshold);
void makeRunFromCal(HShowerCalParCell* pCell);
TH3S *m_pHist;
TH2F *m_pSlopeHist;
TH2F *m_pOffsetHist;
Char_t m_nSector;
Char_t m_nModule;
Char_t m_nRows;
Char_t m_nCols;
Int_t m_nDataSize;
Int_t* m_pData;
Int_t m_iEvents;
Float_t m_fChannel10pC;
HShowerGeometry *m_pGeom;
ClassDef(HShowerHistCell, 2)
void calTest(HLocation &loc, HShowerCalParCell *pCell,
Float_t fParam1, Float_t fParam2);
void calElect(HLocation &loc,HShowerCalParCell* pCell,
Float_t fParam1, Float_t fParam2);
void runSigma(HLocation &loc,HShowerCalParCell* pCell,
Float_t fParam1, Float_t fParam2);
void runThreshold(HLocation &loc,HShowerCalParCell* pCell,
Float_t fParam1, Float_t fParam2);
void runIntegrate(HLocation &loc,HShowerCalParCell* pCell,
Float_t fParam1, Float_t fParam2);
};
#endif
Last change: Sat May 22 13:13:36 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.