#ifndef HShowerUnpackParam_H
#define HShowerUnpackParam_H
#pragma interface
#include "hparset.h"
#include "hshowerparset.h"
#include "hlocation.h"
#include "hshowerhist.h"
#include "TList.h"
class HShowerCalPar;
class HParHadAsciiFileIo;
class HShowerSubIdPar;
class HShowerUnpackParam : public HShowerParSet {
public:
HShowerUnpackParam(const Char_t* name="ShowerUnpackParam",
const Char_t* title="Parameter for Shower unpacker",
const Char_t* context="ShowerStandardUnpack");
~HShowerUnpackParam();
virtual Bool_t initAscii(HParHadAsciiFileIo* pHadAsciiFile);
virtual Bool_t writeAscii(HParHadAsciiFileIo* pHadAsciiFile);
virtual Bool_t defaultInit();
Int_t calcModule(UInt_t d) {return ( (d & 0x1FF) >> 2) %3; }
Int_t calcColumn(UInt_t d) {return ( (d & 0x1FF)>>2) / 3;}
Int_t calcRow(UInt_t d) {return (d & 0x03) + (d>>7 & 0x18);}
Bool_t useThreshold(){return m_nUseThresholds;}
Int_t getThreshold(Int_t nSect, Int_t nMod){return m_nThresholds[nSect*3 + nMod];}
Int_t getColumnNumber(Int_t nByteNumber)
{return m_nColumnsNumbers[nByteNumber];}
Int_t getRowNumber(Int_t nByteNumber)
{return m_nRowsNumbers[nByteNumber];}
Int_t getModuleNumber(Int_t nByteNumber)
{return m_nModulesNumbers[nByteNumber];}
void setColumnsNumbers(Int_t nColumns,Int_t ind ){
m_nColumnsNumbers[ind]=nColumns;
}
void setRowsNumbers(Int_t nRow,Int_t ind){
m_nRowsNumbers[ind]=nRow;
}
void setModulesNumbers(Int_t nModule,Int_t ind){
m_nModulesNumbers[ind]=nModule;
}
void setThresholds(Int_t nThreshold,Int_t ind){
m_nThresholds[ind]=nThreshold;
}
void setUseThresholds(Bool_t bUse){
m_nUseThresholds=bUse;
}
void setSubIdPar(HShowerSubIdPar * pSubIdPar,Int_t idx){
m_pSubIdArr->AddAt((TObject*)pSubIdPar,idx);
}
HShowerSubIdPar* getSubIdPar(Int_t nSubId);
ClassDef(HShowerUnpackParam,1)
private:
Bool_t m_nIsInit;
Bool_t m_nUseThresholds;
Int_t m_nThresholds[18];
Int_t m_nColumnsNumbers[384];
Int_t m_nRowsNumbers[384];
Int_t m_nModulesNumbers[384];
TObjArray* m_pSubIdArr;
};
#endif
Last change: Sat May 22 13:14:16 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.