#ifndef TCmueHit_hh #define TCmueHit_hh #include "TObject.h" class TStnDataBlock; class AbsEvent; class TCmueHit : public TObject { friend Int_t StntupleInitCmuDataBlock(TStnDataBlock* block, AbsEvent* event, int mode); // bits 0-7 are used by the system, // use bit8 as "used" flag // or ROOT is using bits 24-31??? enum {kUsedBit = BIT(8) }; protected: Float_t fZ; // Float_t fDriftDistance; Int_t fSideNumber; // east=0, west=1 Int_t fWedgeNumber; // 0-23 Int_t fLayerNumber; // 0-3 Int_t fStackNumber; // 0-5 Int_t fChamberNumber; // 0-1 //----------------------------------------------------------------------------- public: TCmueHit(); virtual ~TCmueHit(); // ****** accessors Float_t& Z () { return fZ; } Float_t& DriftDistance() { return fDriftDistance; } Int_t& SideNumber () { return fSideNumber; } Int_t& WedgeNumber () { return fWedgeNumber; } Int_t& LayerNumber () { return fLayerNumber; } Int_t& StackNumber () { return fStackNumber; } Int_t& ChamberNumber() { return fChamberNumber; } Int_t WireNumber () const { return fChamberNumber+2*fStackNumber; } Int_t Used () const { return TestBit(kUsedBit); } // ****** modifiers void SetUsed() { SetBit(kUsedBit); } // ****** overloaded methods of // TObject void Print(Option_t* opt = "") const; ClassDef (TCmueHit,1) }; #endif