#ifndef __HShowerPID_H
#define __HShowerPID_H
#pragma interface

#include "TObject.h"

class HShowerPID : public TObject {
public:
        HShowerPID(): m_fCharge(0.0){}
        HShowerPID(const Float_t fCharge) : m_fCharge(fCharge) {}
       ~HShowerPID() {}

        Int_t clear();

        Int_t getAddress(void) {return m_nAddress;}
        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;}

        void getXYZ(Float_t *px, Float_t *py, Float_t *pz)
                           {*px = m_fX; *py = m_fY;*py = m_fZ;}
        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;}

        void setAddress(Int_t nAddress) {m_nAddress = 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 setXYZ(Float_t x, Float_t y, Float_t z)
                               {m_fX = x; m_fY = y;m_fZ = 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;}

        Bool_t IsSortable() const { return kTRUE; }
        Int_t Compare(const TObject *obj) const;

        ClassDef(HShowerPID,3) //ROOT extension

private:
       Float_t m_fX;  //spatial coord
       Float_t m_fY;
       Float_t m_fZ;

       Float_t m_fRad; // sphere coord
       Float_t m_fPhi;
       Float_t m_fTheta;

       Float_t m_fShower; //shower - diff m_fSum2 - m_fSum1 if > 0

       Int_t calcAddress();

       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 HShowerPID::Compare(const TObject *obj) const {
   if (m_nAddress==((HShowerPID*)obj)->getAddress()) return 0;
   return (m_nAddress > ((HShowerPID*)obj)->getAddress() ? 1 : -1);
}

#endif

Last change: Sat May 22 13:13:52 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.