28 #ifndef _ST_FGT_SINGLE_EVENT_DISPLAY_H_
29 #define _ST_FGT_SINGLE_EVENT_DISPLAY_H_
35 #include "StuDraw3DEvent.h"
36 #include "StFgtDbMaker/StFgtDbMaker.h"
37 #include "StFgtDbMaker/StFgtDb.h"
43 int electId,geoId, rdo,arm,apv,chan;
46 float r1, r2, phi1, phi2;
47 float phi1Deg, phi2Deg;
48 float x1, y1, x2, y2, Z;
54 short adc[kFgtNumTimeBins];
57 enum {mxFgtElect=30720, mxFgtApv=22, mxFgtPln=2, kFgtPlnP=0, kFgtPlnR=1 };
71 void readFgtStripDb();
73 Int_t getNumFgtElect() {
return numFgtElect; }
76 if ( itemNumInRange(num)) {
77 return &(stripDb[num]);
83 void drawStrip(Int_t geoId, Color_t lineColor =0);
85 Int_t getElectId(Int_t num) {
86 if ( itemNumInRange(num)) {
87 return (stripDb[num].electId);
93 Int_t getGeoId(Int_t num) {
94 if ( itemNumInRange(num)) {
95 return (stripDb[num].geoId);
101 Int_t getLayer(Int_t num) {
102 if ( itemNumInRange(num)) {
103 return (stripDb[num].layer);
109 Double_t getR1(Int_t num) {
110 if ( itemNumInRange(num)) {
111 return (stripDb[num].r1);
117 Double_t getR2(Int_t num) {
118 if ( itemNumInRange(num)) {
119 return (stripDb[num].r2);
125 Double_t getPhi1(Int_t num) {
126 if ( itemNumInRange(num)) {
127 return (stripDb[num].phi1);
133 Double_t getPhi2(Int_t num) {
134 if ( itemNumInRange(num)) {
135 return (stripDb[num].phi2);
141 Int_t getHit(Int_t num) {
142 if ( itemNumInRange(num)) {
143 return (stripDb[num].
hit);
149 Int_t getDisc(Int_t num) {
150 if ( itemNumInRange(num)) {
151 return (stripDb[num].disc);
157 Int_t getStat(Int_t num) {
158 if ( itemNumInRange(num)) {
159 return (stripDb[num].stat);
165 Int_t getPed(Int_t num) {
166 if ( itemNumInRange(num)) {
167 return (stripDb[num].ped);
173 Int_t getPedForGeoId(Int_t geoId) {
174 for(
int i = 0; i < numFgtElect; i++) {
175 if ( stripDb[i].geoId == geoId ) {
176 return (stripDb[i].ped);
182 Int_t getSigPed(Int_t num) {
183 if ( itemNumInRange(num)) {
184 return (stripDb[num].sigPed);
190 Int_t getAdc(Int_t num, Int_t tb) {
191 if ( itemNumInRange(num) && (tb >= 0) && (tb < kFgtNumTimeBins)) {
192 return (stripDb[num].adc[tb]);
199 Int_t getGeometry( Int_t num, Short_t & disc,
200 Short_t & quad, Char_t & layer, Int_t & strip,
201 Double_t & x1, Double_t & y1,
202 Double_t & x2, Double_t & y2,
204 if ( itemNumInRange(num)) {
205 disc = (stripDb[num].disc);
206 quad = (stripDb[num].quad);
207 layer = (stripDb[num].layer);
208 strip = (stripDb[num].strip);
209 x1 = (stripDb[num].x1);
210 y1 = (stripDb[num].y1);
211 x2 = (stripDb[num].x2);
212 y2 = (stripDb[num].y2);
213 z = (stripDb[num].Z);
220 Int_t getEntryForGeoId(Int_t geoId) {
221 if(geoId >= 0 && geoId < kFgtNumGeoIds) {
222 return entryForGeoId[geoId];
241 bool itemNumInRange (Int_t num) {
242 return ( (num >= 0) && (num < numFgtElect)) ;
246 Int_t entryForGeoId[kFgtNumGeoIds];