StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StSvtAnalysedHybridClusters.hh
1 /***************************************************************************
2  *
3  * $Id: StSvtAnalysedHybridClusters.hh,v 1.10 2006/05/08 13:52:10 fisyak Exp $
4  *
5  * Author: Selemon Bekele
6  ***************************************************************************
7  *
8  * Description: SVT Analysis Object BASE class
9  *
10  ***************************************************************************
11  *
12  * $Log: StSvtAnalysedHybridClusters.hh,v $
13  * Revision 1.10 2006/05/08 13:52:10 fisyak
14  * Fill StSvtHits directly into StEvent (if it exists), add local coordinate, add handle for drift velocity hack correction
15  *
16  * Revision 1.9 2005/07/23 03:37:33 perev
17  * IdTruth + Cleanup
18  *
19  * Revision 1.8 2003/04/05 22:36:22 caines
20  * Fix filling on local coords so its time and anode not cm
21  *
22  * Revision 1.7 2002/01/05 21:46:00 caines
23  * Include t0 correction in hit
24  *
25  * Revision 1.6 2001/11/12 22:58:01 caines
26  * Add functions for filling hits from srs data
27  *
28  * Revision 1.5 2001/08/07 20:52:15 caines
29  * Implement better packing of svt hardware and charge values
30  *
31  * Revision 1.4 2001/05/04 14:20:05 caines
32  * Improved historgramming
33  *
34  * Revision 1.3 2001/04/25 18:23:21 perev
35  * HPcorrs
36  *
37  * Revision 1.2 2000/08/24 04:27:56 caines
38  * Fixed casting warnings so compiles without errors on linux
39  *
40  * Revision 1.1 2000/08/21 13:04:29 caines
41  * First version of hit fitting routines
42  *
43  * Revision
44  *
45  **************************************************************************/
46 #ifndef STSVTANALYSEDHYBRIDCLUSTERS_HH
47 #define STSVTANALYSEDHYBRIDCLUSTERS_HH
48 #include <string.h>
49 #include "StSvtClassLibrary/StSvtHybridObject.hh"
50 #include "StarClassLibrary/StThreeVector.hh"
51 #include "StEvent/StSvtHit.h"
52 
53 class StSvtAnalysis;
54 class scs_spt_st;
56 
57 typedef struct StSvtHitData
58 {
59 
60  int id;
61  int id_cluster;
62  int id_globtrk;
63  int id_match;
64  int id_track;
65  int id_simtrk;
66 
67  int peakAdc;
68  int numOfAnodesInClu;
69  int numOfPixelsInClu;
70  double mom2[2];
71  float uv[2];
72  float anode;
73  float timeb;
74  StSvtHitData(){memset(this,0,sizeof(StSvtHitData));}
75 } StSvtHitData;
76 
77 
78 
80 {
81  public:
82 
83  StSvtAnalysedHybridClusters(int barrel, int ladder, int wafer, int hybrid);
84  virtual ~StSvtAnalysedHybridClusters();
85 
86  void setMembers(int numOfClu, int index);
87  int setSvtHit(StSvtAnalysis* mSvtAnalysis, float T0Jitter);
88  int setSvtHit(scs_spt_st* mSrsHit, StSvtWaferCoordinate* WaferCoord);
89 
90  StSvtHitData* svtHitData();
91  StSvtHit* svtHit();
92  void ReSize();
93  int numOfHits();
94  StThreeVector<double>* WaferPosition();
95 
96 
97 
98  private:
99 
100  int mNumOfHits;
101  unsigned int mHardWarePosition;
102  StSvtHitData* mSvtHitData;
103  StSvtHit* mSvtHit;
104  StThreeVector<double>* mPos;
105 
106 };
107 
108 inline StSvtHitData* StSvtAnalysedHybridClusters::svtHitData(){ return mSvtHitData;}
109 inline StSvtHit* StSvtAnalysedHybridClusters::svtHit(){ return mSvtHit;}
110 inline int StSvtAnalysedHybridClusters::numOfHits(){ return mNumOfHits;}
111 inline StThreeVector<double>* StSvtAnalysedHybridClusters::WaferPosition(){ return mPos;}
112 #endif
113 
114 
115