00001 /*************************************************************************** 00002 * 00003 * $Id: StMcIstHit.hh,v 2.10 2011/10/17 00:24:00 fisyak Exp $ 00004 * $Log: StMcIstHit.hh,v $ 00005 * Revision 2.10 2011/10/17 00:24:00 fisyak 00006 * Add time of flight for hits 00007 * 00008 * Revision 2.9 2009/02/06 15:38:13 fisyak 00009 * Jonathan: decoding for upgr15 geometry 00010 * 00011 * Revision 2.8 2006/10/23 21:13:46 calderon 00012 * Updates to layer(), wafer() and side() methods from Willie L. 00013 * 00014 * Revision 2.7 2005/11/22 21:44:52 fisyak 00015 * Add compress Print for McEvent, add Ssd collections 00016 * 00017 * Revision 2.6 2005/09/28 21:30:15 fisyak 00018 * Persistent StMcEvent 00019 * 00020 * Revision 2.5 2005/07/19 20:07:34 calderon 00021 * Addition of default constructor, including base class StMcHit constructor. 00022 * Bracket calls to StMemoryPool inside #ifdef. 00023 * 00024 * Revision 2.4 2005/07/06 20:05:28 calderon 00025 * Remove forward declaration of StThreeVectorF, use #include, and only in 00026 * StMcHit base class. StThreeVectorF is not a class anymore, it is now 00027 * only a typedef, only template version of StThreeVector exists now. 00028 * 00029 * Revision 2.3 2005/05/12 22:38:30 potekhin 00030 * Willie: Added function wafer() to return wafer number (1-7,1-10,1-13 for layers 1,2,3) 00031 * and side() to return ladder side (1=inner,2=outer) 00032 * 00033 * Revision 2.2 2005/05/11 20:54:28 calderon 00034 * Added persistency: ClassImp, ClassDef and inheritance from StObject. 00035 * 00036 * Revision 2.1 2004/09/14 05:00:29 calderon 00037 * Added support for Ist, Ssd and changes to Pixel, from "El Kai". 00038 * 00039 * Revision 2.1 2003/08/20 18:50:21 calderon 00040 * Addition of Tof classes and Pixel classes. Modified track, event, and 00041 * container code to reflect this. 00042 * Fix bug in StMcVertex and in clearing of some hit collections. 00043 * 00044 * 00045 **************************************************************************/ 00046 #ifndef StMcIstHit_hh 00047 #define StMcIstHit_hh 00048 00049 #include "StMcHit.hh" 00050 #include "tables/St_g2t_ist_hit_Table.h" 00051 00052 00053 class StMcIstHit : public StMcHit { 00054 public: 00055 StMcIstHit() : StMcHit() {} 00056 StMcIstHit(const StThreeVectorF& x,const StThreeVectorF& p, 00057 Float_t de = 0, Float_t ds = 0, Float_t tof = 0, Long_t k = 0, Long_t volId = 0, StMcTrack* parent=0) : 00058 StMcHit(x,p,de,ds,tof,k,volId,parent) {} 00059 StMcIstHit(g2t_ist_hit_st* pt) : 00060 StMcHit(StThreeVectorF(pt->x[0], pt->x[1], pt->x[2]), 00061 StThreeVectorF(pt->p[0], pt->p[1], pt->p[2]), 00062 pt->de, pt->ds, pt->tof, pt->id, pt->volume_id, 0) {} 00063 ~StMcIstHit() {} 00064 00065 #ifdef POOL 00066 void* operator new(size_t) { return mPool.alloc(); } 00067 void operator delete(void* p) { mPool.free(p); } 00068 #endif 00069 00070 unsigned long layer() const; // 00071 unsigned long ladder() const; // 00072 00073 // Willie: Added function wafer() to return wafer number (1-12) 00074 unsigned long wafer() const; 00075 00076 // Willie: Added function wafer() to return wafer number (1-10,1-13 for layers 1,2) 00077 // and side() to return ladder side (1=inner,2=outer) 00078 ULong_t wafer() {return ((mVolumeId/100)%20);} 00079 ULong_t side() {return (mVolumeId%10);} //1=inner; 2=outer; 00080 virtual void Print(Option_t *option="") const; // *MENU* 00081 00082 private: 00083 00084 ClassDef(StMcIstHit,2) 00085 }; 00086 00087 ostream& operator<<(ostream& os, const StMcIstHit&); 00088 #endif
1.5.9