#ifndef HShowerUnpacker_H
#define HShowerUnpacker_H
#include "haddef.h"
#include "hldsubevt.h"
#include "hldunpack.h"
#include "hlocation.h"
#include "showerdef.h"
#include "hshowerunpackparam.h"
class HShowerRawHist;
class HShowerUnpacker: public HldUnpack {
public:
HShowerUnpacker(Int_t nSubId);
~HShowerUnpacker();
virtual Int_t getSubEvtId() const { return m_nSubId; }
Int_t execute();
Bool_t init(void);
Bool_t reinit(void);
Bool_t finalize(void);
private:
Int_t getChargeHigh(UInt_t d) {return (d>>8) & 0xFF;}
Int_t getChargeLow(UInt_t d) {return d & 0xFF;}
Int_t getSector(UInt_t d) {return m_nSector;}
Int_t getModule(UInt_t d) {return ( (d & 0x1FF) >> 2) %3; }
Int_t getColumn(UInt_t d) { return ( (d & 0x1FF)>>2) / 3;}
Int_t getRowHigh(UInt_t d) { return (d & 0x03) + (d>>7 & 0x18)+4; }
Int_t getRowLow(UInt_t d) { return (d & 0x03) + (d>>7 & 0x18);}
virtual Int_t getRowOffset(UInt_t d)
{ return m_nRowOffset + ((d>>7) & 0x18); }
Int_t frameIdentifier(UInt_t d) { return (d>>14) &0x03;}
Int_t dataStatus(UInt_t d) { return (d>>12) & 0x01;}
Int_t fillData(class HLocation &loc, Int_t nCharge, Int_t nEvtId, Byte_t bErrorCode=0);
void setParams(HShowerUnpackParam* pParams) {m_pParams = pParams;}
void configure(HShowerUnpackParam* pParams);
HShowerUnpackParam* getParams() {return m_pParams;}
Int_t dump();
HLocation m_loc;
HLocation m_zeroLoc;
Int_t nEvNr;
Int_t m_nSubId;
Int_t m_nSector;
Int_t m_nRowOffset;
Int_t m_nSwap;
HShowerUnpackParam* m_pParams;
HShowerRawHist* m_pHist;
ClassDef(HShowerUnpacker,0)
};
#endif /* !HShowerUnpacker_H */
Last change: Sat May 22 13:14:17 2010
Last generated: 2010-05-22 13:14
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.