00001 /*************************************************************************** 00002 * 00003 * $Id: StMcSvtHit.hh,v 2.14 2012/03/01 16:48:29 perev Exp $ 00004 * $Log: StMcSvtHit.hh,v $ 00005 * Revision 2.14 2012/03/01 16:48:29 perev 00006 * method Browse() added 00007 * 00008 * Revision 2.13 2011/10/17 00:24:01 fisyak 00009 * Add time of flight for hits 00010 * 00011 * Revision 2.12 2005/11/22 21:44:52 fisyak 00012 * Add compress Print for McEvent, add Ssd collections 00013 * 00014 * Revision 2.11 2005/09/28 21:30:15 fisyak 00015 * Persistent StMcEvent 00016 * 00017 * Revision 2.10 2005/01/27 23:40:48 calderon 00018 * Adding persistency to StMcEvent as a step for Virtual MonteCarlo. 00019 * 00020 * Revision 2.9 2000/06/06 02:58:41 calderon 00021 * Introduction of Calorimeter classes. Modified several classes 00022 * accordingly. 00023 * 00024 * Revision 2.8 2000/05/05 15:25:44 calderon 00025 * Reduced dependencies and made constructors more efficient 00026 * 00027 * Revision 2.7 2000/04/19 14:34:48 calderon 00028 * More corrections for the SSD, thanks Helen 00029 * 00030 * Revision 2.6 2000/04/18 23:46:12 calderon 00031 * Fix bug in reurning barrel number 00032 * Enumerations for the Max barrels, ladders & wafers modified for 00033 * SSD inclusion in current scheme. 00034 * 00035 * Revision 2.5 2000/04/18 22:55:28 calderon 00036 * Functions to access the volume Id 00037 * Added volume Id to output of operator<< 00038 * 00039 * Revision 2.4 2000/01/18 20:52:31 calderon 00040 * Works with CC5 00041 * 00042 * Revision 2.3 1999/12/14 07:04:49 calderon 00043 * Numbering scheme as per SVT request. 00044 * 00045 * Revision 2.2 1999/12/03 00:51:52 calderon 00046 * Tested with new StMcEventMaker. Added messages for 00047 * diagnostics. 00048 * 00049 * Revision 2.1 1999/11/19 19:06:33 calderon 00050 * Recommit after redoing the files. 00051 * 00052 * Revision 2.0 1999/11/17 02:12:16 calderon 00053 * Completely revised for new StEvent 00054 * 00055 * Revision 1.4 1999/09/24 01:23:16 fisyak 00056 * Reduced Include Path 00057 * 00058 * Revision 1.3 1999/09/23 21:25:52 calderon 00059 * Added Log & Id 00060 * Modified includes according to Yuri 00061 * 00062 * 00063 **************************************************************************/ 00064 #ifndef StMcSvtHit_hh 00065 #define StMcSvtHit_hh 00066 00067 #include "StMcHit.hh" 00068 #include "tables/St_g2t_svt_hit_Table.h" 00069 00070 class StMcSvtHit : public StMcHit { 00071 public: 00072 StMcSvtHit() {} 00073 StMcSvtHit(const StThreeVectorF& x,const StThreeVectorF& p, 00074 Float_t de = 0, Float_t ds = 0, Float_t tof = 0, Long_t k = 0, Long_t volId = 0, StMcTrack* parent=0) : 00075 StMcHit(x,p,de,ds,tof,k,volId,parent) {} 00076 StMcSvtHit(g2t_svt_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 ~StMcSvtHit() {} 00081 ULong_t layer() const {return (mVolumeId%10000)/1000;} // layer=[1,6] with SSD [1-8] 00082 ULong_t ladder() const {return (mVolumeId)%100;} // ladder=[1-8] with SSD [1-20] 00083 ULong_t wafer() const {return mVolumeId%10000 < 7101 ? ((mVolumeId)%1000)/100 : (((mVolumeId%10000)/100)-70);} // wafer=[1-7] with SSD [1-16] 00084 ULong_t barrel() const {return (layer()+1)/2; } // barrel=[1-3] with SSD [1-4] 00085 ULong_t hybrid() const {return 0; } 00086 virtual void Print(Option_t *option="") const; // *MENU* 00087 protected: 00088 ClassDef(StMcSvtHit,2) 00089 }; 00090 00091 ostream& operator<<(ostream& os, const StMcSvtHit&); 00092 00093 #endif
1.5.9