#ifndef HSHOWERDIGI_PAD
#define HSHOWERDIGI_PAD
#include "TObject.h"
#include "TObjArray.h"
#include "TClonesArray.h"
#include "hparset.h"
#include "hshowerframe.h"
#include "hshowergeantwire.h"
class HShowerPad : public TObject{
public:
HShowerPad();
virtual ~HShowerPad();
HShowerPad(const HShowerPad& srcPad);
void reset();
Int_t isOut(HShowerGeantWire *qhit);
Int_t isOut(Float_t x, Float_t y);
Int_t isOutX(Float_t x, Float_t y);
Int_t isOutY(Float_t x, Float_t y);
void getPadCenter(Float_t *pfX, Float_t *pfY);
Int_t getPadNr(){return nPadNr;}
void getPadPos(Int_t *pRow, Int_t *pCol);
Int_t getPadFlag(){return nPadFlag;}
Int_t getLinkedNr(){return nLinkedNr;}
void setPadFlag(Int_t nFlag){nPadFlag = nFlag;}
void setPadNr(Int_t nPad){nPadNr = nPad;}
void setPadsX(Int_t nPads){nPadsX = nPads;}
void setLinkedNr(Int_t nNr){nLinkedNr = nNr;}
Float_t getXld_mm(void) const { return 10.0f * fXld; }
Float_t getYld_mm(void) const { return 10.0f * fYld; }
Float_t getXlu_mm(void) const { return 10.0f * fXlu; }
Float_t getYlu_mm(void) const { return 10.0f * fYlu; }
Float_t getXrd_mm(void) const { return 10.0f * fXrd; }
Float_t getYrd_mm(void) const { return 10.0f * fYrd; }
Float_t getXru_mm(void) const { return 10.0f * fXru; }
Float_t getYru_mm(void) const { return 10.0f * fYru; }
HShowerPad& operator=(const HShowerPad& source);
Float_t fXld,fYld,fXlu,fYlu;
Float_t fXrd,fYrd,fXru,fYru;
HShowerPad **linkPad;
private:
Int_t nPadNr;
Int_t nPadsX;
Int_t nPadFlag;
Float_t qpad;
Int_t nLinkedNr;
ClassDef(HShowerPad, 2)
};
class HShowerPadTab : public HShowerParSet{
public:
HShowerPadTab();
~HShowerPadTab();
Bool_t initAscii(HParHadAsciiFileIo* pHadAsciiFile);
Bool_t writeAscii(HParHadAsciiFileIo* pHadAsciiFile);
void reset();
Int_t createPads(Int_t nX, Int_t nY);
void deletePads();
void setPad(HShowerPad* pPad, Int_t nRow, Int_t nCol);
void setPad(HShowerPad* pPad, Int_t nPadNr);
HShowerPad* getPad(Int_t nPadNr);
HShowerPad* getPad(Int_t nRow, Int_t nCol);
HShowerPad* getPad(Float_t fXpos, Float_t fYpos);
Int_t getNPad(){return nPads;}
Int_t getNPadX(){return nPadsX;}
Int_t getNPadY(){return nPadsY;}
Bool_t isOut(Int_t nX, Int_t nY);
void setFrame(HShowerFrame *pFrame){m_pFrame = pFrame;}
HShowerFrame* getFrame(){return m_pFrame;}
void setModuleID(Int_t id){m_nModuleID = id;}
Int_t getModuleID(){return m_nModuleID;}
private:
Int_t calcAddr(Int_t nRow, Int_t nCol){return nCol + nPadsX * nRow;}
TObject*& getSlot(Int_t nIndx);
TObject* getObject(Int_t nIndx);
TClonesArray* m_pPadArr;
Int_t nPads;
Int_t nPadsX;
Int_t nPadsY;
Int_t m_nModuleID;
HShowerFrame *m_pFrame;
ClassDef(HShowerPadTab, 2)
};
#endif
Last change: Sat May 22 13:13:55 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.