00001 /*************************************************************************** 00002 * 00003 * $Id: StMcEmcModuleHitCollection.hh,v 2.7 2012/03/22 00:35:22 perev Exp $ 00004 * 00005 * Author: Aleksei Pavlinov, May 2000 00006 *************************************************************************** 00007 * 00008 * Description: Monte Carlo Emc Module Hit Collection class 00009 * 00010 *************************************************************************** 00011 * 00012 * $Log: StMcEmcModuleHitCollection.hh,v $ 00013 * Revision 2.7 2012/03/22 00:35:22 perev 00014 * private => protected 00015 * 00016 * Revision 2.6 2012/03/01 16:48:29 perev 00017 * method Browse() added 00018 * 00019 * Revision 2.5 2007/10/05 00:01:21 calderon 00020 * Changes to include a EMC hit collection that does not care about 00021 * parent tracks, so that now there are two collections. This 00022 * new collection will be useful to compare all the deposited energy in a hit tower 00023 * in a given event. The information about the track parentage is still 00024 * kept in the original collection unchanged. 00025 * 00026 * Revision 2.4 2005/01/27 23:40:47 calderon 00027 * Adding persistency to StMcEvent as a step for Virtual MonteCarlo. 00028 * 00029 * Revision 2.3 2001/05/31 02:45:55 perev 00030 * const(ing) 00031 * 00032 * Revision 2.2 2000/08/30 14:52:03 calderon 00033 * New changes made by Aleksei. 00034 * 00035 * Revision 2.1 2000/06/06 23:01:09 calderon 00036 * Inital revision 00037 * 00038 * 00039 **************************************************************************/ 00040 #ifndef StMcEmcModuleHitCollection_hh 00041 #define StMcEmcModuleHitCollection_hh 00042 #include "StMcContainers.hh" 00043 #include "TDataSet.h" 00044 00045 class StMcCalorimeterHit; 00046 00047 class StMcEmcModuleHitCollection : public TDataSet { 00048 public: 00049 StMcEmcModuleHitCollection(); 00050 StMcEmcModuleHitCollection(const unsigned int m); 00051 virtual ~StMcEmcModuleHitCollection(); 00052 void Clear(const char* opt=""); 00053 virtual bool IsFolder() const { return true;}; 00054 virtual void Browse(TBrowser *b); 00055 00056 void init(const unsigned int m); 00057 unsigned long numberOfHits() const; 00058 unsigned long numberOfDetectorHits() const; 00059 float sum() const; 00060 00061 StSPtrVecMcCalorimeterHit& hits(); 00062 const StSPtrVecMcCalorimeterHit& hits() const; 00063 00064 // detector hits are like hits, but there is at most one detector hit per 00065 // element (tower, preshower, or strip). If multiple hits occur in a single 00066 // element their energy depositions are summed, regardless of the parent track. 00067 // Also, detector hits do not preserve information about the parent track of 00068 // the hit, since there may be more than one. APK - 09/07 00069 StSPtrVecMcCalorimeterHit& detectorHits(); 00070 const StSPtrVecMcCalorimeterHit& detectorHits() const; 00071 00072 00073 void operator()(const unsigned int m) { init(m); } 00074 00075 protected: 00076 StSPtrVecMcCalorimeterHit mHits; 00077 StSPtrVecMcCalorimeterHit mDetectorHits; 00078 ClassDef(StMcEmcModuleHitCollection,1) 00079 }; 00080 #endif
1.5.9