00001 00005 /******************************************************************** 00006 * 00007 * $Id: StPhmdDetector.h,v 2.2 2003/04/22 00:08:13 ullrich Exp $ 00008 * 00009 * Author: Subhasis Chattopadhyay, Dec 2002 00010 ******************************************************************** 00011 * 00012 * Description: Base class for PMD detector 00013 * 00014 ******************************************************************** 00015 * 00016 * $Log: StPhmdDetector.h,v $ 00017 * Revision 2.2 2003/04/22 00:08:13 ullrich 00018 * Removed //! comments 00019 * 00020 * Revision 2.1 2002/12/20 22:33:00 ullrich 00021 * Initial Revision. 00022 * 00023 ********************************************************************/ 00024 #ifndef StPhmdDetector_hh 00025 #define StPhmdDetector_hh 00026 00027 #include "StObject.h" 00028 #include "StEnumerations.h" 00029 00030 class StPhmdHit; 00031 class StPhmdModule; 00032 class StPhmdClusterCollection; 00033 00034 class StPhmdDetector : public StObject { 00035 public: 00036 StPhmdDetector(); 00037 StPhmdDetector(StDetectorId); 00038 ~StPhmdDetector(); 00039 00040 StDetectorId id() const; 00041 unsigned int numberOfModules() const; 00042 00043 bool addHit(StPhmdHit*); 00044 unsigned int numberOfHits() const; 00045 00046 StPhmdModule* module(unsigned int); 00047 const StPhmdModule* module(unsigned int) const; 00048 int moduleHits(unsigned int); 00049 00050 StPhmdClusterCollection* cluster(); 00051 const StPhmdClusterCollection* cluster() const; 00052 00053 void setCluster(StPhmdClusterCollection*); 00054 void setModule(StPhmdModule*, unsigned int); 00055 00056 00057 private: 00058 enum {mMaxModules = 12}; 00059 StDetectorId mDetectorId; 00060 00061 Int_t mModulesNHit[mMaxModules]; 00062 StPhmdModule* mModules[mMaxModules]; // pointer for hits 00063 StPhmdClusterCollection* mClusters; // pointer for clusters 00064 00065 ClassDef(StPhmdDetector,1) 00066 }; 00067 00068 inline StDetectorId StPhmdDetector::id() const 00069 {return mDetectorId;} 00070 00071 #endif
1.5.9