StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StFtpcGeantReader.hh
1 // $Id: StFtpcGeantReader.hh,v 1.2 2003/10/07 12:40:29 jcs Exp $
2 //
3 // $Log: StFtpcGeantReader.hh,v $
4 // Revision 1.2 2003/10/07 12:40:29 jcs
5 // created member functions to extract ftpc plane and sector number from the GEANT volume id
6 //
7 // Revision 1.1 2000/09/18 14:27:46 hummler
8 // add StFtpcGeantReader
9 //
10 //
11 
12 #ifndef STAR_StFtpcGeantReader
13 #define STAR_StFtpcGeantReader
14 
15 
16 #include "TObject.h"
17 
18 #include "tables/St_g2t_vertex_Table.h"
19 #include "tables/St_g2t_track_Table.h"
20 #include "tables/St_g2t_ftp_hit_Table.h"
21 
22 class StFtpcGeantReader : public TObject
23 {
24 
25 protected:
26  G2T_VERTEX_ST *vertexTable;
27  G2T_TRACK_ST *trackTable;
28  G2T_FTP_HIT_ST *hitTable;
29  Int_t nVertices;
30  Int_t nTracks;
31  Int_t nHits;
32 
33 public:
34  StFtpcGeantReader(St_g2t_vertex *vertex,
35  St_g2t_track *track,
36  St_g2t_ftp_hit *hit);
38 
39  Int_t numberOfVertices() {return nVertices;}
40  Int_t numberOfTracks() {return nTracks;}
41  Int_t numberOfHits() {return nHits;}
42 
43  Int_t nextTrackHit(Int_t i);
44  Int_t track(Int_t i);
45  Int_t geantVolume(Int_t i);
46  Int_t geantPlane(Int_t geantVolume); // from the Geant VolumeId, the plane number {1,20} (West,East)
47  Int_t geantSector(Int_t geantVolume);// from the Geant VolumeId, the sector number {1,6} (West,East)
48  Float_t energyLoss(Int_t i);
49  Float_t segmentLength(Int_t i);
50  Float_t pLocalX(Int_t i);
51  Float_t pLocalY(Int_t i);
52  Float_t pLocalZ(Int_t i);
53  Float_t timeOfFlight(Int_t i);
54  Float_t x(Int_t i);
55  Float_t y(Int_t i);
56  Float_t z(Int_t i);
57  Int_t trackType(Int_t i);
58  Int_t trackPid(Int_t i);
59  Int_t hitsOnTrack(Int_t i);
60  Int_t firstHitOnTrack(Int_t i);
61  Int_t isShower(Int_t i);
62  Int_t trackVertex(Int_t i);
63  Float_t trackCharge(Int_t i);
64  Float_t trackEnergy(Int_t i);
65  Float_t trackEta(Int_t i);
66  Float_t pVertexX(Int_t i);
67  Float_t pVertexY(Int_t i);
68  Float_t pVertexZ(Int_t i);
69  Float_t pTVertex(Int_t i);
70  Float_t pTotalVertex(Int_t i);
71  Float_t rapidityVertex(Int_t i);
72  Int_t productionProcess(Int_t i);
73  Float_t vertexX(Int_t i);
74  Float_t vertexY(Int_t i);
75  Float_t vertexZ(Int_t i);
76 };
77 
78 #endif