#ifndef __HShowerHit_H
#define __HShowerHit_H
#pragma interface
#include "TObject.h"
class HShowerHit : public TObject {
public:
HShowerHit(){clear();}
HShowerHit(const Float_t fCharge){clear();m_fCharge=fCharge;}
~HShowerHit() {}
Int_t clear();
inline Int_t calcAddress() const {
Char_t s = (m_nSector) ? m_nSector : 6;
return 100000 * s + 10000 * m_nModule + 100 * m_nRow + m_nCol;
}
Int_t getAddress(void) {return calcAddress();}
Char_t getSector(void) {return m_nSector;}
Char_t getModule(void) {return m_nModule;}
Char_t getRow(void) {return m_nRow;}
Char_t getCol(void) {return m_nCol;}
Float_t getSum(Int_t i);
Float_t getSum25(){return m_fSum2_25;}
Float_t getSumN(){return m_fSum2_N;}
Float_t getVar(Int_t i);
Int_t getClusterSize(Int_t i);
Float_t getLocalMax(){return m_fLocalMax;}
void getXY(Float_t *px, Float_t *py){*px = m_fX; *py = m_fY;}
Float_t getZ();
void getSigmaXY(Float_t *px, Float_t *py){*px = m_fSigmaX; *py = m_fSigmaY;}
Float_t getSigmaX(){return m_fSigmaX;}
Float_t getSigmaY(){return m_fSigmaY;}
void getLabXYZ(Float_t *px, Float_t *py, Float_t *pz) {*px = m_fLabX; *py = m_fLabY;*pz = m_fLabZ;}
void getSphereCoord(Float_t *pr, Float_t *pphi, Float_t *ptheta) {*pr = m_fRad; *pphi = m_fPhi ; *ptheta = m_fTheta;}
Float_t getCharge(){return m_fCharge;}
Float_t getShower(){return m_fShower;}
Float_t getSumDiff01(){return m_fSumDiff01;}
Float_t getSumDiff02(){return m_fSumDiff02;}
void copyToTrueAddress(void) { m_nAddress = calcAddress();}
void setTrueAddress(Int_t address ) { m_nAddress = address;}
Int_t getTrueAddress(void) { return m_nAddress;}
void setSector(Char_t s) {m_nSector = s;}
void setModule(Char_t m) {m_nModule = m;}
void setRow(Char_t r) {m_nRow = r;}
void setCol(Char_t c) {m_nCol = c;}
void setSum(Int_t i, Float_t fSum);
void setVar(Int_t i, Float_t fVar);
void setClusterSize(Int_t i, Int_t cs);
void setSum25(Float_t fSum);
void setLocalMax(Float_t lmax){m_fLocalMax = lmax;}
void setXY(Float_t x, Float_t y){m_fX = x; m_fY = y;}
void setSigmaXY(Float_t x, Float_t y){m_fSigmaX = x; m_fSigmaY = y;}
void setLabXYZ(Float_t x, Float_t y, Float_t z)
{m_fLabX = x; m_fLabY = y;m_fLabZ = z;}
void setSphereCoord(Float_t r, Float_t phi, Float_t theta)
{m_fRad = r; m_fPhi = phi ; m_fTheta=theta;}
void setCharge(Float_t fCharge){m_fCharge = fCharge;}
void setShower(Float_t fShower){m_fShower = fShower;}
virtual void updateCalc();
Bool_t IsSortable() const { return kTRUE; }
inline Int_t Compare(const TObject *obj) const;
ClassDef(HShowerHit,5)
private:
Float_t m_fX;
Float_t m_fY;
Float_t m_fSigmaX;
Float_t m_fSigmaY;
Float_t m_fLabX;
Float_t m_fLabY;
Float_t m_fLabZ;
Float_t m_fRad;
Float_t m_fPhi;
Float_t m_fTheta;
Float_t m_fSum0;
Float_t m_fSum1;
Float_t m_fSum2;
Float_t m_fSum2_25;
Float_t m_fSum2_N;
Float_t m_fVar0;
Float_t m_fVar1;
Float_t m_fVar2;
Float_t m_fLocalMax;
Float_t m_fSumDiff01;
Float_t m_fSumDiff02;
Float_t m_fSumDiff12;
Float_t m_fShower;
Int_t m_nClusterSize0;
Int_t m_nClusterSize1;
Int_t m_nClusterSize2;
Char_t m_nSector;
Char_t m_nModule;
Char_t m_nRow;
Char_t m_nCol;
Float_t m_fCharge;
Int_t m_nAddress;
};
inline Int_t HShowerHit::Compare(const TObject *obj) const {
Int_t addr = calcAddress();
if (addr == ((HShowerHit*)obj)->getAddress()) return 0;
return (addr > ((HShowerHit*)obj)->getAddress()) ? 1 : -1;
}
#endif
Last change: Sat May 22 13:13:38 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.