StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StMcSvtHit.hh
1 /***************************************************************************
2  *
3  * $Id: StMcSvtHit.hh,v 2.14 2012/03/01 16:48:29 perev Exp $
4  * $Log: StMcSvtHit.hh,v $
5  * Revision 2.14 2012/03/01 16:48:29 perev
6  * method Browse() added
7  *
8  * Revision 2.13 2011/10/17 00:24:01 fisyak
9  * Add time of flight for hits
10  *
11  * Revision 2.12 2005/11/22 21:44:52 fisyak
12  * Add compress Print for McEvent, add Ssd collections
13  *
14  * Revision 2.11 2005/09/28 21:30:15 fisyak
15  * Persistent StMcEvent
16  *
17  * Revision 2.10 2005/01/27 23:40:48 calderon
18  * Adding persistency to StMcEvent as a step for Virtual MonteCarlo.
19  *
20  * Revision 2.9 2000/06/06 02:58:41 calderon
21  * Introduction of Calorimeter classes. Modified several classes
22  * accordingly.
23  *
24  * Revision 2.8 2000/05/05 15:25:44 calderon
25  * Reduced dependencies and made constructors more efficient
26  *
27  * Revision 2.7 2000/04/19 14:34:48 calderon
28  * More corrections for the SSD, thanks Helen
29  *
30  * Revision 2.6 2000/04/18 23:46:12 calderon
31  * Fix bug in reurning barrel number
32  * Enumerations for the Max barrels, ladders & wafers modified for
33  * SSD inclusion in current scheme.
34  *
35  * Revision 2.5 2000/04/18 22:55:28 calderon
36  * Functions to access the volume Id
37  * Added volume Id to output of operator<<
38  *
39  * Revision 2.4 2000/01/18 20:52:31 calderon
40  * Works with CC5
41  *
42  * Revision 2.3 1999/12/14 07:04:49 calderon
43  * Numbering scheme as per SVT request.
44  *
45  * Revision 2.2 1999/12/03 00:51:52 calderon
46  * Tested with new StMcEventMaker. Added messages for
47  * diagnostics.
48  *
49  * Revision 2.1 1999/11/19 19:06:33 calderon
50  * Recommit after redoing the files.
51  *
52  * Revision 2.0 1999/11/17 02:12:16 calderon
53  * Completely revised for new StEvent
54  *
55  * Revision 1.4 1999/09/24 01:23:16 fisyak
56  * Reduced Include Path
57  *
58  * Revision 1.3 1999/09/23 21:25:52 calderon
59  * Added Log & Id
60  * Modified includes according to Yuri
61  *
62  *
63  **************************************************************************/
64 #ifndef StMcSvtHit_hh
65 #define StMcSvtHit_hh
66 
67 #include "StMcHit.hh"
68 #include "tables/St_g2t_svt_hit_Table.h"
69 
70 class StMcSvtHit : public StMcHit {
71 public:
72  StMcSvtHit() {}
73  StMcSvtHit(const StThreeVectorF& x,const StThreeVectorF& p,
74  Float_t de = 0, Float_t ds = 0, Float_t tof = 0, Long_t k = 0, Long_t volId = 0, StMcTrack* parent=0) :
75  StMcHit(x,p,de,ds,tof,k,volId,parent) {}
76  StMcSvtHit(g2t_svt_hit_st* pt) :
77  StMcHit(StThreeVectorF(pt->x[0], pt->x[1], pt->x[2]),
78  StThreeVectorF(pt->p[0], pt->p[1], pt->p[2]),
79  pt->de, pt->ds, pt->tof, pt->id, pt->volume_id, 0) {}
80  ~StMcSvtHit() {}
81  ULong_t layer() const {return (mVolumeId%10000)/1000;} // layer=[1,6] with SSD [1-8]
82  ULong_t ladder() const {return (mVolumeId)%100;} // ladder=[1-8] with SSD [1-20]
83  ULong_t wafer() const {return mVolumeId%10000 < 7101 ? ((mVolumeId)%1000)/100 : (((mVolumeId%10000)/100)-70);} // wafer=[1-7] with SSD [1-16]
84  ULong_t barrel() const {return (layer()+1)/2; } // barrel=[1-3] with SSD [1-4]
85  ULong_t hybrid() const {return 0; }
86  virtual void Print(Option_t *option="") const; // *MENU*
87 protected:
88  ClassDef(StMcSvtHit,2)
89 };
90 
91 ostream& operator<<(ostream& os, const StMcSvtHit&);
92 
93 #endif
Definition: tof.h:15
Monte Carlo Track class All information on a simulated track is stored in this class: kinematics...
Definition: StMcTrack.hh:144