// ------------------------------------------------------------------------- // ----- PndMvdHit header file ----- // ----- Created 07/04/05 by V. Friese ----- // ------------------------------------------------------------------------- /** PndMvdHit.h *@author T.Stockmanns ** ** A hit in a hybrid pixel station of STS. In addition to the base class ** CbmHit, it holds the number of the pixel (column and row). **/ #ifndef PNDMVDHIT_H #define PNDMVDHIT_H #include "TVector3.h" #include "TString.h" #include "CbmHit.h" #include #include class PndMvdHit : public CbmHit { friend std::ostream& operator<< (std::ostream& out, const PndMvdHit& hit){ out << "Hybrid pixel hit in detector " << hit.GetDetName() << " at (" << hit.GetX() << ", " << hit.GetY() << ", " << hit.GetZ() << ") cm " << " with " << hit.GetCharge() << " e" << ", Cluster " << hit.GetRefIndex() << std::endl; return out; } public: /** Default constructor (not for use) **/ PndMvdHit(); /** Standard constructor with all paramneters *@param detID Detector ID *@param detName Detector Name *@param pos Position vector [cm] *@param dpos Position error vector [cm] *@param index Array index of ClusterCand *@param charge Charge measured in hit *@param NPixelHits Number of pixels fired for this event **/ PndMvdHit(Int_t detID, TString detName, TVector3& pos, TVector3& dpos, Int_t index, Double_t charge, Int_t NPixelHits); //PndMvdHit(PndMvdHit& c); /** Destructor **/ virtual ~PndMvdHit(); /** Accessors **/ void SetDetName(TString name){fDetName = name;}; void SetCharge(Double_t charge){fCharge = charge;}; void SetNPixelHits(Int_t pixel){fNPixelHits = pixel;}; TString GetDetName()const { return fDetName; } Double_t GetCharge()const {return fCharge;}; Int_t GetNPixelHits() const { return fNPixelHits; } TVector3 GetPosition() const { return TVector3(fX, fY, fZ); } /** Screen output **/ virtual void Print(const Option_t* opt = 0) const; private: TString fDetName; // Detector name Double_t fCharge; Int_t fNPixelHits; ClassDef(PndMvdHit,7); }; #endif