00001 /*************************************************************************** 00002 * 00003 * $Id: StMcTpcHit.hh,v 2.13 2012/03/01 16:48:30 perev Exp $ 00004 * $Log: StMcTpcHit.hh,v $ 00005 * Revision 2.13 2012/03/01 16:48:30 perev 00006 * method Browse() added 00007 * 00008 * Revision 2.12 2011/10/17 00:24:01 fisyak 00009 * Add time of flight for hits 00010 * 00011 * Revision 2.11 2005/11/22 21:44:52 fisyak 00012 * Add compress Print for McEvent, add Ssd collections 00013 * 00014 * Revision 2.10 2005/09/28 21:30:15 fisyak 00015 * Persistent StMcEvent 00016 * 00017 * Revision 2.9 2005/07/06 20:05:28 calderon 00018 * Remove forward declaration of StThreeVectorF, use #include, and only in 00019 * StMcHit base class. StThreeVectorF is not a class anymore, it is now 00020 * only a typedef, only template version of StThreeVector exists now. 00021 * 00022 * Revision 2.8 2005/01/27 23:40:49 calderon 00023 * Adding persistency to StMcEvent as a step for Virtual MonteCarlo. 00024 * 00025 * Revision 2.7 2000/06/06 02:58:42 calderon 00026 * Introduction of Calorimeter classes. Modified several classes 00027 * accordingly. 00028 * 00029 * Revision 2.6 2000/05/05 15:25:44 calderon 00030 * Reduced dependencies and made constructors more efficient 00031 * 00032 * Revision 2.5 2000/03/06 18:05:23 calderon 00033 * 1) Modified SVT Hits storage scheme from layer-ladder-wafer to 00034 * barrel-ladder-wafer. 00035 * 2) Added Rich Hit class and collection, and links to them in other 00036 * classes. 00037 * 00038 * Revision 2.4 2000/01/18 20:52:31 calderon 00039 * Works with CC5 00040 * 00041 * Revision 2.3 1999/12/14 07:04:49 calderon 00042 * Numbering scheme as per SVT request. 00043 * 00044 * Revision 2.2 1999/12/03 00:51:53 calderon 00045 * Tested with new StMcEventMaker. Added messages for 00046 * diagnostics. 00047 * 00048 * Revision 2.1 1999/11/19 19:06:33 calderon 00049 * Recommit after redoing the files. 00050 * 00051 * Revision 2.0 1999/11/17 02:12:16 calderon 00052 * Completely revised for new StEvent 00053 * 00054 * Revision 1.4 1999/09/24 01:23:16 fisyak 00055 * Reduced Include Path 00056 * 00057 * Revision 1.3 1999/09/23 21:25:53 calderon 00058 * Added Log & Id 00059 * Modified includes according to Yuri 00060 * 00061 * 00062 **************************************************************************/ 00063 #ifndef StMcTpcHit_hh 00064 #define StMcTpcHit_hh 00065 00066 #include "StMcHit.hh" 00067 #include "tables/St_g2t_tpc_hit_Table.h" 00068 00069 class StMcTpcHit : public StMcHit { 00070 public: 00071 StMcTpcHit() {} 00072 // StMcTpcHit(const StThreeVectorF& x,const StThreeVectorF& p, 00073 // Float_t de = 0, Float_t ds = 0, Float_t tof = 0, Long_t k = 0, Long_t volId = 0, StMcTrack* parent=0, 00074 // Float_t adc = 0, Float_t cl_x = 0, Float_t cl_t = 0): 00075 // StMcHit(x,p,de,ds,tof,k,volId,parent), mAdc(adc), mMcl_x(cl_x), mMcl_t(cl_t) {} 00076 StMcTpcHit(g2t_tpc_hit_st* pt): 00077 StMcHit(StThreeVectorF(pt->x[0], pt->x[1], pt->x[2]), 00078 StThreeVectorF(pt->p[0], pt->p[1], pt->p[2]), 00079 pt->de, pt->ds, pt->tof, pt->id, pt->volume_id, 0), 00080 mLgamma(pt->lgam), mAdc(pt->adc), mMcl_x(pt->pad), mMcl_t(pt->timebucket) {} 00081 virtual ~StMcTpcHit() {} 00082 ULong_t sector() const { return (mVolumeId%10000)/100; }// 1-24 00083 ULong_t padrow() const { return (mVolumeId%100); } // 1-45 00084 00085 ULong_t isDet() const { return mVolumeId/100000; } // pseudo pad row 00086 Float_t lgamma() const { return mLgamma;} 00087 Float_t adc() const { return mAdc;} 00088 Float_t pad() const { return mMcl_x;} 00089 Float_t timeBucket() const { return mMcl_t;} 00090 00091 virtual void Print(Option_t *option="") const; // *MENU* 00092 00093 private: 00094 Float_t mLgamma; // ALOG10(GEKin/AMass) from g2t_tpc_hit 00095 Float_t mAdc; 00096 Float_t mMcl_x; /* average pad */ 00097 Float_t mMcl_t; /* average timebucket */ 00098 ClassDef(StMcTpcHit,2) 00099 }; 00100 00101 ostream& operator<<(ostream& os, const StMcTpcHit&); 00102 00103 #endif
1.5.9