StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSvtGeantHits.hh
1 /***************************************************************************
2  *
3  * $Id: StSvtGeantHits.hh,v 1.9 2005/07/23 03:37:34 perev Exp $
4  *
5  * Author: Selemon Bekele
6  ***************************************************************************
7  *
8  * Description: keep geant hits for evaluation in hit maker
9  *
10  ***************************************************************************
11  *
12  * $Log: StSvtGeantHits.hh,v $
13  * Revision 1.9 2005/07/23 03:37:34 perev
14  * IdTruth + Cleanup
15  *
16  * Revision 1.8 2004/03/30 21:27:12 caines
17  * Remove asserts from code so doesnt crash if doesnt get parameters it just quits with kStErr
18  *
19  * Revision 1.6 2003/07/31 19:18:09 caines
20  * Petrs improved simulation code
21  *
22  * Revision 1.5 2001/08/13 15:34:18 bekele
23  * Debugging tools added
24  *
25  * Revision 1.4 2001/04/03 15:24:24 caines
26  * Increase hit space size again
27  *
28  * Revision 1.3 2001/03/22 20:46:21 caines
29  * Expand MAX_HIT so high multiplicty events work
30  *
31  * Revision 1.2 2001/03/19 22:25:53 caines
32  * Catch wrong wafer ids more elegantly
33  *
34  * Revision 1.1 2000/11/30 20:47:48 caines
35  * First version of Slow Simulator - S. Bekele
36  *
37  **************************************************************************/
38 
39 #ifndef STSVTGEANTHITS_HH
40 #define STSVTGEANTHITS_HH
41 
42 #define MAX_HITS 200
43 
44 #include "StSvtClassLibrary/StSvtHybridObject.hh"
45 #include <vector>
46 #ifndef ST_NO_NAMESPACES
47 using std::vector;
48 #endif
49 #include "StThreeVector.hh"
50 
53 class StGlobalCoordinate;
54 
56 {
57 public:
58  StSvtGeantHits(int barrel, int ladder, int wafer, int hybrid);
59  virtual ~StSvtGeantHits();
60 
61  void setNumOfHits(int nhits);
62  void setPeak(int index, float peak);
63  void setGeantHit(int index ,int* svtAtt, float* AnTime);
64  void setGeantHit(int index , StSvtWaferCoordinate* waferCoord);
65  void setLocalCoord( int index, StThreeVector<double>* x );
66  void setGlobalCoord(int index, StThreeVector<double>* x);
67  void setTrackId(int index ,int idtrk);
68  int getTrackId(int index);
69 
70  int numberOfHits();
71  float peak(int index);
72  StSvtWaferCoordinate* waferCoordinate();
73  StSvtLocalCoordinate* localCoordinate();
74  StGlobalCoordinate* globalCoordinate();
75 
76 private:
77 
78  int mNumOfHits;
79  StSvtWaferCoordinate *mWaferCoord;
80  StSvtLocalCoordinate *mLocalCoord;
81  StGlobalCoordinate *mGlobalCoord;
82  int *mIdTrack;
83  float *mPeak; // mV
84 
85  ClassDef(StSvtGeantHits,1)
86 };
87 
88 inline int StSvtGeantHits::numberOfHits() {return mNumOfHits ;}
89 inline float StSvtGeantHits::peak(int index) {return mPeak[index];}
90 inline StSvtWaferCoordinate* StSvtGeantHits::waferCoordinate(){return mWaferCoord ;}
91 inline StGlobalCoordinate* StSvtGeantHits::globalCoordinate() {return mGlobalCoord;}
92 inline StSvtLocalCoordinate* StSvtGeantHits::localCoordinate(){return mLocalCoord ;}
93 
94 #endif