StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
St_trg_Maker.cxx
1 // //
3 // St_trg_Maker class for Makers //
4 // CVS history moved at the bottom //
5 // //
7 
8 #include "Stiostream.h"
9 #include "St_trg_Maker.h"
10 #include "St_DataSetIter.h"
11 #include "StDAQMaker/StDAQReader.h"
12 #include "StDAQMaker/StTRGReader.h"
13 #include "StDAQMaker/StSSDReader.h"
14 #include "tables/St_dst_L0_Trigger_Table.h" // 24dec99
15 #include "tables/St_dst_L1_Trigger_Table.h" // 02feb00
16 #include "tables/St_dst_L2_Trigger_Table.h" // 02feb00
17 #include "tables/St_dst_TrgDet_Table.h" // 24dec99
18 #include "tables/St_ctu_raw_Table.h"
19 #if 0
20 #include "tables/St_mwc_raw_Table.h"
21 #endif
22 #include "tables/St_dst_TrgDet_Table.h"
23 #define PREPOST 11 // CAUTION: this number is also in dst_TrgDet.idl
24 
25 #include "StDaqLib/TRG/trgStructures.h"
26 typedef struct {
27  EvtDescData EvtDesc; /* L1 Event Descriptor Data */
28  TrgSumData TrgSum; /* summary data */
29  RawTrgDet RAW[PREPOST]; /* For simplicity, I assume that you don't
30  want pre and post history. */
32 MarilynMonroe *gs;
33 
34 
35 #include "StDaqLib/TRG/trgStructures2000.h"
36 typedef struct {
37  EvtDescData2000 EvtDesc; /* L1 Event Descriptor Data */
38  TrgSumData2000 TrgSum; /* summary data */
39  RawTrgDet2000 RAW[PREPOST]; /* For simplicity, I assume that you don't
40  want pre and post history. */
42 MarilynMonroe2000 *gs2000;
43 
44 
45 
46 ClassImp(St_trg_Maker)
47 #define SANITYCheck(name,value) \
48  if (name != value) {LOG_INFO << "Value of "#name" = |" << name << "| instead of expected "#value << endm; return kStErr;}
49 
50 
51 //_____________________________________________________________________________
52 St_trg_Maker::St_trg_Maker(const char *name):StMaker(name){
53  drawinit=kFALSE;
54 }
55 //_____________________________________________________________________________
56 St_trg_Maker::~St_trg_Maker(){
57 }
58 //_____________________________________________________________________________
59 Int_t St_trg_Maker::Init(){
60 // Create tables
61 // Create Histograms
62 #if 0
63  InitMwcArrays();
64 #endif
65  return StMaker::Init();
66 }
67 
69 // This section of code causes the functions in the file duplicated.code to appear twice
70 // in this code file. The second time is for trigger data in the year 2000 format.
71 // The first time is for year 2001 format.
72 
73 #define SWITCH(x) x
74 #define LATER_THAN_YEAR_2000
75 #include "St_trg_duplicated.code"
76 #undef SWITCH
77 #undef LATER_THAN_YEAR_2000
78 
79 #define SWITCH(x) x ## 2000
80 #include "St_trg_duplicated.code"
81 
83 void St_trg_Maker::SecondDstSim(St_dst_L0_Trigger *dst2)
84 {
85  int i;
86  dst_L0_Trigger_st *tt = dst2->GetTable();
87  tt->TriggerActionWd = 0;
88  tt->TriggerWd = 0;
89  for(i=0;i<32;i++) tt->CPA[i]=0;
90  tt->MWC_CTB_mul = 0;
91  tt->MWC_CTB_dipole = 0;
92  tt->MWC_CTB_topology = 0;
93  tt->MWC_CTB_moment = 0;
94 }
95 
97 int St_trg_Maker::YearOfData(St_DataSet *herb)
98 {
99  StDAQReader *fromVictor = (StDAQReader*) (herb->GetObject()); assert(fromVictor);
100  StTRGReader *trgReader = fromVictor->getTRGReader();if(!trgReader) return 0;
101  if(!trgReader->thereIsTriggerData()) return 0;
102  int y = trgReader->getYear();
103  assert(y);
104  return y;
105 
106 }
107 
117  static char initializationDone=0;
118  St_dst_TrgDet *dst1 = new St_dst_TrgDet("TrgDet",1); if(!dst1) return kStWarn; dst1->SetNRows(1);
119  St_dst_L0_Trigger *dst2 = new St_dst_L0_Trigger("L0_Trigger",1); if(!dst2) return kStWarn; dst2->SetNRows(1);
120  St_dst_L1_Trigger *dst3 = new St_dst_L1_Trigger("L1_Trigger",1); if(!dst3) return kStWarn; dst3->SetNRows(1);
121  St_dst_L2_Trigger *dst4 = new St_dst_L2_Trigger("L2_Trigger",1); if(!dst4) return kStWarn; dst4->SetNRows(1);
122  AddData(dst1);
123  AddData(dst2);
124  AddData(dst3);
125  AddData(dst4);
126 
128  // St_DataSet *daq = GetDataSet("StDAQReader"); assert(daq);
129  // StDAQReader *fromVictor = (StDAQReader*) (daq->GetObject()); assert(fromVictor);
130  // StEEMCReader *steemcreader = fromVictor->getEEMCReader(); assert(steemcreader);
131  // for(int crate=3;crate<=5;crate++) { for(int chan=0;chan<128;chan++) {
132  // printf("EEMC crate=%3d chan=%3d ADC=%5d\n",crate,chan,steemcreader->getTowerAdc(crate,chan));
133  // } }
135 
137  // {
138  // static int event=0;
139  // int data,pedestal,noise,channel,ladder; char eastWest;
140  // St_DataSet *daq = GetDataSet("StDAQReader"); assert(daq);
141  // StDAQReader *fromVictor = (StDAQReader*) (daq->GetObject()); assert(fromVictor);
142  // StSSDReader *stssdreader = fromVictor->getSSDReader(); assert(stssdreader);
143  //
144  // ladder=13; eastWest='W'; channel=68; // ladder numbers from 1, channel numbers from 0.
145  // if(stssdreader->getSsdData(ladder,eastWest,channel,data,pedestal,noise)==0) {
146  // printf("ssd physics data\n");
147  // } else {
148  // printf("ssd pedestal data\n");
149  // }
150  // event++;
151  // printf("ssd event %2d, %02d%c, chan %05d, data %03d\n",event,ladder,eastWest,channel,data);
152  // printf("ssd event %2d, %02d%c, chan %05d, ped %03d\n",event,ladder,eastWest,channel,pedestal);
153  // printf("ssd event %2d, %02d%c, chan %05d, noise %03d\n",event,ladder,eastWest,channel,noise);
154  // }
156 
157  // This just sort of prints out some representative SSS data for use as a baseline during development.
158  // static int call=0;
159  // int ped,noise,channel,data,debug1,debugt,ladder; char ew;
160  // St_DataSet *daq = GetDataSet("StDAQReader"); assert(daq);
161  // StDAQReader *fromVictor = (StDAQReader*) (daq->GetObject()); assert(fromVictor);
162  // StSSDReader *stssdreader = fromVictor->getSSDReader(); assert(stssdreader);
163  // call++;
164  // for(debug1=0;debug1<20;debug1++) {
165  // debugt=0;
166  // switch(debug1) {
167  // case 0: ladder=13; ew='W'; break;
168  // case 1: ladder=12; ew='W'; break;
169  // case 2: ladder=10; ew='W'; break;
170  // case 3: ladder=11; ew='W'; break;
171  // case 4: ladder= 9; ew='W'; break;
172  // case 5: ladder=19; ew='W'; break;
173  // case 6: ladder=20; ew='W'; break;
174  // case 7: ladder= 2; ew='W'; break;
175  // case 8: ladder= 1; ew='W'; break;
176  // case 9: ladder= 3; ew='W'; break;
177  // case 10: ladder=13; ew='E'; break;
178  // case 11: ladder=12; ew='E'; break;
179  // case 12: ladder=10; ew='E'; break;
180  // case 13: ladder=11; ew='E'; break;
181  // case 14: ladder= 9; ew='E'; break;
182  // case 15: ladder=19; ew='E'; break;
183  // case 16: ladder=20; ew='E'; break;
184  // case 17: ladder= 2; ew='E'; break;
185  // case 18: ladder= 1; ew='E'; break;
186  // case 19: ladder= 3; ew='E'; break;
187  // }
188  // for(channel=0;channel<12288;channel++) {
189  // assert(stssdreader->getSsdData(ladder,ew,channel,data,ped,noise)==0);
190  // if(data&&debugt==0) { debugt=1; printf("BBB e_trg_=%02d lad=%02d%c channel=%05d data=%03d\n",call+1,ladder,ew,channel,data); }
191  // }
192  // }
193 
194 
195 
196  St_DataSet *DAQdset = GetDataSet("StDAQReader");
197  if(DAQdset) {
198  //
199  // Starting from 2006+, see StEvent and StEventMaker filling of
200  // L0, l1, L2 from StTriggerData structure.
201  // StL0Trigger::set(const StTriggerData* t)
202  //
203  int yy=YearOfData(DAQdset);
204  if (yy >= 2007 ){
205  LOG_INFO << "trg is obsolete for years " << yy << ">= 2007" << endm;
206  return kStOk;
207  }
208 
209  switch(yy) {
210  case 2000:
211  LOG_INFO << "analyzing year 2000 trigger data." << endm;
212  if(!initializationDone) {
213  InitCtbArrays(); initializationDone=7;
214  }
215  return Daq2000(DAQdset,dst1,dst2,dst3,dst4);
216  break;
217 
218  case 2001:
219  LOG_INFO << "analyzing year 2001 trigger data" << endm;
220  if(!initializationDone) {
221  InitCtbArrays2001();
222  initializationDone=7;
223  }
224  return Daq(DAQdset,dst1,dst2,dst3,dst4);
225  break;
226 
227  case 2003:
228  LOG_INFO << "analyzing year 2003 trigger data"<< endm;
229  if(!initializationDone) {
230  InitCtbArrays2001(); /* use 2001 for 2003 */
231  initializationDone=7;
232  }
233  return Daq2003(DAQdset,dst1,dst2,dst3,dst4);
234  break;
235 
236 
237  case 2004:
238  case 2005:
239  LOG_INFO << "analyzing year 2004/2005 trigger data (using 2003)" << endm;
240  if(!initializationDone) {
241  InitCtbArrays2001(); /* use 2001 for 2004-2005 */
242  initializationDone=7;
243  }
244  return Daq2003(DAQdset,dst1,dst2,dst3,dst4); /* use same scheme as 2003 */
245  break;
246 
247  case 0:
248  return kStWarn;
249 
250  default:
251  assert(0);
252  }
253 
254  } else {
255  if(!initializationDone) { InitCtbArrays2001(); initializationDone=7; }
256  return Sim(dst1,dst2,dst3,dst4);
257  }
258 
259  return kStOk; // To hush Insure++.
260 
261 }
262 
263 
264 void St_trg_Maker::TakeCareOfL1andL2Sim(St_dst_L1_Trigger *dst3,St_dst_L2_Trigger *dst4) {
265  // Like the rest of the sim stuff, this needs to be filled in.
266  LOG_INFO << "we are in TakeCareOfL1andL2Sim" << endm ;
267 }
268 
269 
270 int St_trg_Maker::HandleCtu(St_ctu_raw *ctu_raw,St_dst_TrgDet *dst1) {
271  if ( !dst1 ) {
272  LOG_INFO << "dst1 not found" << endm ;
273  return 0 ;
274  }
275  dst_TrgDet_st *tt = 0 ;
276  tt = dst1->GetTable();
277  if ( !tt ) {
278  LOG_INFO << "dst1 table not found" << endm ;
279  return 0 ;
280  }
281  //
282  // No pre and post crossing data in simulations
283  // at least for the moment (PY 12/1/00).
284  tt->npre = 0 ;
285  tt->npost= 0;
286 
287  if ( !ctu_raw ) {
288  LOG_INFO << "ctu_raw table not found" << endm ;
289  return 0 ;
290  }
291  ctu_raw_st* ctbRaw = 0 ;
292  ctbRaw = ctu_raw->GetTable();
293  if ( !ctbRaw ) {
294  LOG_INFO << "ctbRaw table not found" << endm ;
295  return 0 ;
296  }
297 
298  int tray = 0 ;
299  int slat = 0 ;
300  for ( int i = 0 ; i < ctu_raw->GetNRows() ; i++ ) {
301 // printf ( "ieta iphi adc %d %d %d \n", ctbRaw[i].i_eta, ctbRaw[i].i_phi,
302 // ctbRaw[i].adc ) ;
303 
304  if ( ctbRaw[i].i_eta < 3 ) {
305  tray = getTrayCtb ( float(6. * (ctbRaw[i].i_phi-1)), -100. ) ;
306  slat = 2 - ctbRaw[i].i_eta ;
307  }
308  else {
309  tray = getTrayCtb ( float(6. * (ctbRaw[i].i_phi-1)), 100. ) ;
310  slat = ctbRaw[i].i_eta - 2 ;
311  }
312  tt->nCtb[tray][slat][0] = ctbRaw[i].adc ;
313  tt->timeCtb[tray][slat][0] = 0;
314  }
315  return 7;
316 }
317 //
318 //
319 int St_trg_Maker::getTrayCtb ( float phi, float z ) {
320  float phiShift, phiShifted ;
321  int iphi, iPhi ;
322 
323  if ( z > 0 ) {
324  phiShift = 84 ;
325  phiShifted = (phi - phiShift) ;
326  if ( phiShifted < 0 ) phiShifted += 360 ;
327  iphi = int(phiShifted / 6) ;
328  iPhi = 59 - iphi ;
329  if ( iPhi == 0 ) iPhi = 60 ;
330  return iPhi ;
331  }
332  else {
333  phiShift = 112 ;
334  phiShifted = (phi - phiShift) ;
335  if ( phiShifted < 0 ) phiShifted += 360 ;
336  iphi = int(phiShifted / 6) ;
337  iPhi = 62 + iphi ;
338  if ( iPhi == 121 ) iPhi = 61 ;
339  return iPhi ;
340  }
341 
342 }
343 void St_trg_Maker::Vladimir2Herbert(int input,int *sector,int *subsector) {
344  int offset, flip;
345  assert(input>=1&&input<=96);
346  if(input>48) {
347  input-=48; offset=0; flip = -1;
348  } else if(45<=input&&input<=48) {
349  *sector=24; *subsector=input-44; return;
350  } else {
351  offset=24; flip = 1;
352  }
353  *sector = (input-1)/4 + 1 ;
354  *subsector = 4 + input - 4 * (*sector) ;
355  *sector = flip*(offset - *sector);
356 }
357 #if 0
358 int St_trg_Maker::HandleMwc(St_mwc_raw *mwc_raw,St_dst_TrgDet *dst1) {
359  int prePost,sector,subsector,index,irow;
360  if(!mwc_raw) { LOG_INFO << "Did not find the mwc_raw table mwc."<< endm; return 7; }
361  mwc_raw_st *vladimir = mwc_raw->GetTable(); assert(vladimir);
362  dst_TrgDet_st *herbert = dst1->GetTable(); assert(herbert);
363  herbert->npre=5; herbert->npost=5;
364  assert(mwc_raw->GetNRows()==96*11); // We must have correct number of rows, else loops below will crash.
365  for(irow=0;irow<96;irow++) {
366  for(prePost=0;prePost<11;prePost++) {
367  index=vladimir[96*prePost+irow].sector; // index = 1-48 for z<0, 49-98 for z>0. Opposite STAR convention.
368  Vladimir2Herbert(index,&sector,&subsector);
369  assert(sector>=1&&sector<=24);
370  assert(subsector>=1&&subsector<=4);
371  herbert[0].nMwc[sector-1][subsector-1][prePost]=vladimir[96*prePost+irow].count;
372  }
373  }
374  return 7;
375 }
376 #endif
377 int St_trg_Maker::Sim(St_dst_TrgDet *dst1,St_dst_L0_Trigger *dst2,St_dst_L1_Trigger *dst3,St_dst_L2_Trigger *dst4) {
378  int rv=kStOK;
379 
380  St_DataSet *ctf = GetInputDS(".make/ctf/.data");
381 #if 0
382  St_DataSet *mwc = GetInputDS(".make/mwc/.data");
383  if (!ctf || !mwc) return kStWarn;
384 #else
385  if (!ctf ) return kStWarn;
386 #endif
387  St_ctu_raw *ctu_raw = (St_ctu_raw *) ctf->Find("ctb_raw");
388 #if 0
389  St_mwc_raw *mwc_raw = (St_mwc_raw *) mwc->Find("raw");
390 #endif
391 //
392  VpdSim(dst1);
393  ZdcSim(dst1);
394 
395 
396 #if 0
397  if(!HandleMwc(mwc_raw,dst1)) rv=kStWarn;
398 #endif
399  if(!HandleCtu(ctu_raw,dst1)) rv=kStWarn;
400  SecondDstSim(dst2);
401  TakeCareOfL1andL2Sim(dst3,dst4);
402 
403  return rv;
404 }
405 void St_trg_Maker::VpdSim(St_dst_TrgDet *dst1) {
406  int i;
407  dst_TrgDet_st *tt = dst1->GetTable();
408  for(i=0;i<48;i++) {
409  tt->adcVPD[i]=0;
410  tt->timeVPD[i]=0;
411  }
412  tt->TimeEastVpd=0;
413  tt->TimeWestVpd=0;
414  tt->vertexZ=0;
415 }
416 void St_trg_Maker::ZdcSim(St_dst_TrgDet *dst1) {
417  int i;
418  dst_TrgDet_st *tt = dst1->GetTable();
419  for(i=0;i<16;i++) {
420  tt->adcZDC[i]=0;
421  tt->tdcZDC[i]=0;
422  }
423  tt->adcZDCEast=0;
424  tt->adcZDCWest=0;
425  tt->adcZDCsum=0;
426 }
427 void St_trg_Maker::InitCtbArrays2001(void) { // from ctb_dsm_2001.map, see also ::InitCtbArrays().
428 static int call=0;
429  call++;
430  assert(call<=1); /* No sense doing this more than once. */
431  auxctbmap[ 0]=104;
432  auxctbmap[ 1]=8;
433  auxctbmap[ 2]=40;
434  auxctbmap[ 3]=72;
435  auxctbmap[ 4]=120;
436  auxctbmap[ 5]=24;
437  auxctbmap[ 6]=56;
438  auxctbmap[ 7]=88;
439  auxctbmap[ 8]=136;
440  auxctbmap[ 9]=168;
441  auxctbmap[10]=200;
442  auxctbmap[11]=232;
443  auxctbmap[12]=152;
444  auxctbmap[13]=184;
445  auxctbmap[14]=216;
446  auxctbmap[15]=248;
447  ctbmap[1-1][1-1]=109;
448  ctbmap[2-1][1-1]=108;
449  ctbmap[3-1][1-1]=107;
450  ctbmap[4-1][1-1]=106;
451  ctbmap[5-1][1-1]=105;
452  ctbmap[6-1][1-1]=7;
453  ctbmap[7-1][1-1]=6;
454  ctbmap[8-1][1-1]=5;
455  ctbmap[9-1][1-1]=4;
456  ctbmap[10-1][1-1]=3;
457  ctbmap[11-1][1-1]=2;
458  ctbmap[12-1][1-1]=1;
459  ctbmap[13-1][1-1]=0;
460  ctbmap[14-1][1-1]=15;
461  ctbmap[15-1][1-1]=14;
462  ctbmap[16-1][1-1]=13;
463  ctbmap[17-1][1-1]=12;
464  ctbmap[18-1][1-1]=11;
465  ctbmap[19-1][1-1]=10;
466  ctbmap[20-1][1-1]=9;
467  ctbmap[21-1][1-1]=39;
468  ctbmap[22-1][1-1]=38;
469  ctbmap[23-1][1-1]=37;
470  ctbmap[24-1][1-1]=36;
471  ctbmap[25-1][1-1]=35;
472  ctbmap[26-1][1-1]=34;
473  ctbmap[27-1][1-1]=33;
474  ctbmap[28-1][1-1]=32;
475  ctbmap[29-1][1-1]=47;
476  ctbmap[30-1][1-1]=46;
477  ctbmap[31-1][1-1]=45;
478  ctbmap[32-1][1-1]=44;
479  ctbmap[33-1][1-1]=43;
480  ctbmap[34-1][1-1]=42;
481  ctbmap[35-1][1-1]=41;
482  ctbmap[36-1][1-1]=71;
483  ctbmap[37-1][1-1]=70;
484  ctbmap[38-1][1-1]=69;
485  ctbmap[39-1][1-1]=68;
486  ctbmap[40-1][1-1]=67;
487  ctbmap[41-1][1-1]=66;
488  ctbmap[42-1][1-1]=65;
489  ctbmap[43-1][1-1]=64;
490  ctbmap[44-1][1-1]=79;
491  ctbmap[45-1][1-1]=78;
492  ctbmap[46-1][1-1]=77;
493  ctbmap[47-1][1-1]=76;
494  ctbmap[48-1][1-1]=75;
495  ctbmap[49-1][1-1]=74;
496  ctbmap[50-1][1-1]=73;
497  ctbmap[51-1][1-1]=103;
498  ctbmap[52-1][1-1]=102;
499  ctbmap[53-1][1-1]=101;
500  ctbmap[54-1][1-1]=100;
501  ctbmap[55-1][1-1]=99;
502  ctbmap[56-1][1-1]=98;
503  ctbmap[57-1][1-1]=97;
504  ctbmap[58-1][1-1]=96;
505  ctbmap[59-1][1-1]=111;
506  ctbmap[60-1][1-1]=110;
507  ctbmap[1-1][2-1]=125;
508  ctbmap[2-1][2-1]=124;
509  ctbmap[3-1][2-1]=123;
510  ctbmap[4-1][2-1]=122;
511  ctbmap[5-1][2-1]=121;
512  ctbmap[6-1][2-1]=23;
513  ctbmap[7-1][2-1]=22;
514  ctbmap[8-1][2-1]=21;
515  ctbmap[9-1][2-1]=20;
516  ctbmap[10-1][2-1]=19;
517  ctbmap[11-1][2-1]=18;
518  ctbmap[12-1][2-1]=17;
519  ctbmap[13-1][2-1]=16;
520  ctbmap[14-1][2-1]=31;
521  ctbmap[15-1][2-1]=30;
522  ctbmap[16-1][2-1]=29;
523  ctbmap[17-1][2-1]=28;
524  ctbmap[18-1][2-1]=27;
525  ctbmap[19-1][2-1]=26;
526  ctbmap[20-1][2-1]=25;
527  ctbmap[21-1][2-1]=55;
528  ctbmap[22-1][2-1]=54;
529  ctbmap[23-1][2-1]=53;
530  ctbmap[24-1][2-1]=52;
531  ctbmap[25-1][2-1]=51;
532  ctbmap[26-1][2-1]=50;
533  ctbmap[27-1][2-1]=49;
534  ctbmap[28-1][2-1]=48;
535  ctbmap[29-1][2-1]=63;
536  ctbmap[30-1][2-1]=62;
537  ctbmap[31-1][2-1]=61;
538  ctbmap[32-1][2-1]=60;
539  ctbmap[33-1][2-1]=59;
540  ctbmap[34-1][2-1]=58;
541  ctbmap[35-1][2-1]=57;
542  ctbmap[36-1][2-1]=87;
543  ctbmap[37-1][2-1]=86;
544  ctbmap[38-1][2-1]=85;
545  ctbmap[39-1][2-1]=84;
546  ctbmap[40-1][2-1]=83;
547  ctbmap[41-1][2-1]=82;
548  ctbmap[42-1][2-1]=81;
549  ctbmap[43-1][2-1]=80;
550  ctbmap[44-1][2-1]=95;
551  ctbmap[45-1][2-1]=94;
552  ctbmap[46-1][2-1]=93;
553  ctbmap[47-1][2-1]=92;
554  ctbmap[48-1][2-1]=91;
555  ctbmap[49-1][2-1]=90;
556  ctbmap[50-1][2-1]=89;
557  ctbmap[51-1][2-1]=119;
558  ctbmap[52-1][2-1]=118;
559  ctbmap[53-1][2-1]=117;
560  ctbmap[54-1][2-1]=116;
561  ctbmap[55-1][2-1]=115;
562  ctbmap[56-1][2-1]=114;
563  ctbmap[57-1][2-1]=113;
564  ctbmap[58-1][2-1]=112;
565  ctbmap[59-1][2-1]=127;
566  ctbmap[60-1][2-1]=126;
567  ctbmap[61-1][1-1]=141;
568  ctbmap[62-1][1-1]=140;
569  ctbmap[63-1][1-1]=139;
570  ctbmap[64-1][1-1]=138;
571  ctbmap[65-1][1-1]=137;
572  ctbmap[66-1][1-1]=167;
573  ctbmap[67-1][1-1]=166;
574  ctbmap[68-1][1-1]=165;
575  ctbmap[69-1][1-1]=164;
576  ctbmap[70-1][1-1]=163;
577  ctbmap[71-1][1-1]=162;
578  ctbmap[72-1][1-1]=161;
579  ctbmap[73-1][1-1]=160;
580  ctbmap[74-1][1-1]=175;
581  ctbmap[75-1][1-1]=174;
582  ctbmap[76-1][1-1]=173;
583  ctbmap[77-1][1-1]=172;
584  ctbmap[78-1][1-1]=171;
585  ctbmap[79-1][1-1]=170;
586  ctbmap[80-1][1-1]=169;
587  ctbmap[81-1][1-1]=199;
588  ctbmap[82-1][1-1]=198;
589  ctbmap[83-1][1-1]=197;
590  ctbmap[84-1][1-1]=196;
591  ctbmap[85-1][1-1]=195;
592  ctbmap[86-1][1-1]=194;
593  ctbmap[87-1][1-1]=193;
594  ctbmap[88-1][1-1]=192;
595  ctbmap[89-1][1-1]=207;
596  ctbmap[90-1][1-1]=206;
597  ctbmap[91-1][1-1]=205;
598  ctbmap[92-1][1-1]=204;
599  ctbmap[93-1][1-1]=203;
600  ctbmap[94-1][1-1]=202;
601  ctbmap[95-1][1-1]=201;
602  ctbmap[96-1][1-1]=231;
603  ctbmap[97-1][1-1]=230;
604  ctbmap[98-1][1-1]=229;
605  ctbmap[99-1][1-1]=228;
606  ctbmap[100-1][1-1]=227;
607  ctbmap[101-1][1-1]=226;
608  ctbmap[102-1][1-1]=225;
609  ctbmap[103-1][1-1]=224;
610  ctbmap[104-1][1-1]=239;
611  ctbmap[105-1][1-1]=238;
612  ctbmap[106-1][1-1]=237;
613  ctbmap[107-1][1-1]=236;
614  ctbmap[108-1][1-1]=235;
615  ctbmap[109-1][1-1]=234;
616  ctbmap[110-1][1-1]=233;
617  ctbmap[111-1][1-1]=135;
618  ctbmap[112-1][1-1]=134;
619  ctbmap[113-1][1-1]=133;
620  ctbmap[114-1][1-1]=132;
621  ctbmap[115-1][1-1]=131;
622  ctbmap[116-1][1-1]=130;
623  ctbmap[117-1][1-1]=129;
624  ctbmap[118-1][1-1]=128;
625  ctbmap[119-1][1-1]=143;
626  ctbmap[120-1][1-1]=142;
627  ctbmap[61-1][2-1]=157;
628  ctbmap[62-1][2-1]=156;
629  ctbmap[63-1][2-1]=155;
630  ctbmap[64-1][2-1]=154;
631  ctbmap[65-1][2-1]=153;
632  ctbmap[66-1][2-1]=183;
633  ctbmap[67-1][2-1]=182;
634  ctbmap[68-1][2-1]=181;
635  ctbmap[69-1][2-1]=180;
636  ctbmap[70-1][2-1]=179;
637  ctbmap[71-1][2-1]=178;
638  ctbmap[72-1][2-1]=177;
639  ctbmap[73-1][2-1]=176;
640  ctbmap[74-1][2-1]=191;
641  ctbmap[75-1][2-1]=190;
642  ctbmap[76-1][2-1]=189;
643  ctbmap[77-1][2-1]=188;
644  ctbmap[78-1][2-1]=187;
645  ctbmap[79-1][2-1]=186;
646  ctbmap[80-1][2-1]=185;
647  ctbmap[81-1][2-1]=215;
648  ctbmap[82-1][2-1]=214;
649  ctbmap[83-1][2-1]=213;
650  ctbmap[84-1][2-1]=212;
651  ctbmap[85-1][2-1]=211;
652  ctbmap[86-1][2-1]=210;
653  ctbmap[87-1][2-1]=209;
654  ctbmap[88-1][2-1]=208;
655  ctbmap[89-1][2-1]=223;
656  ctbmap[90-1][2-1]=222;
657  ctbmap[91-1][2-1]=221;
658  ctbmap[92-1][2-1]=220;
659  ctbmap[93-1][2-1]=219;
660  ctbmap[94-1][2-1]=218;
661  ctbmap[95-1][2-1]=217;
662  ctbmap[96-1][2-1]=247;
663  ctbmap[97-1][2-1]=246;
664  ctbmap[98-1][2-1]=245;
665  ctbmap[99-1][2-1]=244;
666  ctbmap[100-1][2-1]=243;
667  ctbmap[101-1][2-1]=242;
668  ctbmap[102-1][2-1]=241;
669  ctbmap[103-1][2-1]=240;
670  ctbmap[104-1][2-1]=255;
671  ctbmap[105-1][2-1]=254;
672  ctbmap[106-1][2-1]=253;
673  ctbmap[107-1][2-1]=252;
674  ctbmap[108-1][2-1]=251;
675  ctbmap[109-1][2-1]=250;
676  ctbmap[110-1][2-1]=249;
677  ctbmap[111-1][2-1]=151;
678  ctbmap[112-1][2-1]=150;
679  ctbmap[113-1][2-1]=149;
680  ctbmap[114-1][2-1]=148;
681  ctbmap[115-1][2-1]=147;
682  ctbmap[116-1][2-1]=146;
683  ctbmap[117-1][2-1]=145;
684  ctbmap[118-1][2-1]=144;
685  ctbmap[119-1][2-1]=159;
686  ctbmap[120-1][2-1]=158;
687 }
688 void St_trg_Maker::InitCtbArrays(void) { // from ctb_dsm.map, see also ::InitCtbArrays2001().
689  static int call=0;
690  call++;
691  assert(call<=1); /* No sense doing this more than once. */
692  auxctbmap[ 0] = 104;
693  auxctbmap[ 1] = 120;
694  auxctbmap[ 2] = 136;
695  auxctbmap[ 3] = 152;
696  auxctbmap[ 4] = 168;
697  auxctbmap[ 5] = 184;
698  auxctbmap[ 6] = 200;
699  auxctbmap[ 7] = 216;
700  auxctbmap[ 8] = 232;
701  auxctbmap[ 9] = 24;
702  auxctbmap[10] = 248;
703  auxctbmap[11] = 40;
704  auxctbmap[12] = 56;
705  auxctbmap[13] = 72;
706  auxctbmap[14] = 8;
707  auxctbmap[15] = 88;
708  ctbmap[0][0] = 7;
709  ctbmap[0][1] = 23;
710  ctbmap[1][0] = 6;
711  ctbmap[1][1] = 22;
712  ctbmap[3-1][0] = 5;
713  ctbmap[3-1][1] = 21;
714  ctbmap[4-1][0] = 4;
715  ctbmap[4-1][1] = 20;
716  ctbmap[5-1][0] = 3;
717  ctbmap[5-1][1] = 19;
718  ctbmap[6-1][0] = 2;
719  ctbmap[6-1][1] = 18;
720  ctbmap[7-1][0] = 1;
721  ctbmap[7-1][1] = 17;
722  ctbmap[8-1][0] = 0;
723  ctbmap[8-1][1] = 16;
724  ctbmap[9-1][0] = 15;
725  ctbmap[9-1][1] = 31;
726  ctbmap[10-1][0] = 14;
727  ctbmap[10-1][1] = 30;
728  ctbmap[11-1][0] = 13;
729  ctbmap[11-1][1] = 29;
730  ctbmap[12-1][0] = 12;
731  ctbmap[12-1][1] = 28;
732  ctbmap[13-1][0] = 11;
733  ctbmap[13-1][1] = 27;
734  ctbmap[14-1][0] = 10;
735  ctbmap[14-1][1] = 26;
736  ctbmap[15-1][0] = 9;
737  ctbmap[15-1][1] = 25;
738  ctbmap[16-1][0] = 39;
739  ctbmap[16-1][1] = 55;
740  ctbmap[17-1][0] = 38;
741  ctbmap[17-1][1] = 54;
742  ctbmap[18-1][0] = 37;
743  ctbmap[18-1][1] = 53;
744  ctbmap[19-1][0] = 36;
745  ctbmap[19-1][1] = 52;
746  ctbmap[20-1][0] = 35;
747  ctbmap[20-1][1] = 51;
748  ctbmap[21-1][0] = 34;
749  ctbmap[21-1][1] = 50;
750  ctbmap[22-1][0] = 33;
751  ctbmap[22-1][1] = 49;
752  ctbmap[23-1][0] = 32;
753  ctbmap[23-1][1] = 48;
754  ctbmap[24-1][0] = 47;
755  ctbmap[24-1][1] = 63;
756  ctbmap[25-1][0] = 46;
757  ctbmap[25-1][1] = 62;
758  ctbmap[26-1][0] = 45;
759  ctbmap[26-1][1] = 61;
760  ctbmap[27-1][0] = 44;
761  ctbmap[27-1][1] = 60;
762  ctbmap[28-1][0] = 43;
763  ctbmap[28-1][1] = 59;
764  ctbmap[29-1][0] = 42;
765  ctbmap[29-1][1] = 58;
766  ctbmap[30-1][0] = 41;
767  ctbmap[30-1][1] = 57;
768  ctbmap[31-1][0] = 71;
769  ctbmap[31-1][1] = 87;
770  ctbmap[32-1][0] = 70;
771  ctbmap[32-1][1] = 86;
772  ctbmap[33-1][0] = 69;
773  ctbmap[33-1][1] = 85;
774  ctbmap[34-1][0] = 68;
775  ctbmap[34-1][1] = 84;
776  ctbmap[35-1][0] = 67;
777  ctbmap[35-1][1] = 83;
778  ctbmap[36-1][0] = 66;
779  ctbmap[36-1][1] = 82;
780  ctbmap[37-1][0] = 65;
781  ctbmap[37-1][1] = 81;
782  ctbmap[38-1][0] = 64;
783  ctbmap[38-1][1] = 80;
784  ctbmap[39-1][0] = 79;
785  ctbmap[39-1][1] = 95;
786  ctbmap[40-1][0] = 78;
787  ctbmap[40-1][1] = 94;
788  ctbmap[41-1][0] = 77;
789  ctbmap[41-1][1] = 93;
790  ctbmap[42-1][0] = 76;
791  ctbmap[42-1][1] = 92;
792  ctbmap[43-1][0] = 75;
793  ctbmap[43-1][1] = 91;
794  ctbmap[44-1][0] = 74;
795  ctbmap[44-1][1] = 90;
796  ctbmap[45-1][0] = 73;
797  ctbmap[45-1][1] = 89;
798  ctbmap[46-1][0] = 103;
799  ctbmap[46-1][1] = 119;
800  ctbmap[47-1][0] = 102;
801  ctbmap[47-1][1] = 118;
802  ctbmap[48-1][0] = 101;
803  ctbmap[48-1][1] = 117;
804  ctbmap[49-1][0] = 100;
805  ctbmap[49-1][1] = 116;
806  ctbmap[50-1][0] = 99;
807  ctbmap[50-1][1] = 115;
808  ctbmap[51-1][0] = 98;
809  ctbmap[51-1][1] = 114;
810  ctbmap[52-1][0] = 97;
811  ctbmap[52-1][1] = 113;
812  ctbmap[53-1][0] = 96;
813  ctbmap[53-1][1] = 112;
814  ctbmap[54-1][0] = 111;
815  ctbmap[54-1][1] = 127;
816  ctbmap[55-1][0] = 110;
817  ctbmap[55-1][1] = 126;
818  ctbmap[56-1][0] = 109;
819  ctbmap[56-1][1] = 125;
820  ctbmap[57-1][0] = 108;
821  ctbmap[57-1][1] = 124;
822  ctbmap[58-1][0] = 107;
823  ctbmap[58-1][1] = 123;
824  ctbmap[59-1][0] = 106;
825  ctbmap[59-1][1] = 122;
826  ctbmap[60-1][0] = 105;
827  ctbmap[60-1][1] = 121;
828  ctbmap[61-1][0] = 135;
829  ctbmap[61-1][1] = 151;
830  ctbmap[62-1][0] = 134;
831  ctbmap[62-1][1] = 150;
832  ctbmap[63-1][0] = 133;
833  ctbmap[63-1][1] = 149;
834  ctbmap[64-1][0] = 132;
835  ctbmap[64-1][1] = 148;
836  ctbmap[65-1][0] = 131;
837  ctbmap[65-1][1] = 147;
838  ctbmap[66-1][0] = 130;
839  ctbmap[66-1][1] = 146;
840  ctbmap[67-1][0] = 129;
841  ctbmap[67-1][1] = 145;
842  ctbmap[68-1][0] = 128;
843  ctbmap[68-1][1] = 144;
844  ctbmap[69-1][0] = 143;
845  ctbmap[69-1][1] = 159;
846  ctbmap[70-1][0] = 142;
847  ctbmap[70-1][1] = 158;
848  ctbmap[71-1][0] = 141;
849  ctbmap[71-1][1] = 157;
850  ctbmap[72-1][0] = 140;
851  ctbmap[72-1][1] = 156;
852  ctbmap[73-1][0] = 139;
853  ctbmap[73-1][1] = 155;
854  ctbmap[74-1][0] = 138;
855  ctbmap[74-1][1] = 154;
856  ctbmap[75-1][0] = 137;
857  ctbmap[75-1][1] = 153;
858  ctbmap[76-1][0] = 167;
859  ctbmap[76-1][1] = 183;
860  ctbmap[77-1][0] = 166;
861  ctbmap[77-1][1] = 182;
862  ctbmap[78-1][0] = 165;
863  ctbmap[78-1][1] = 181;
864  ctbmap[79-1][0] = 164;
865  ctbmap[79-1][1] = 180;
866  ctbmap[80-1][0] = 163;
867  ctbmap[80-1][1] = 179;
868  ctbmap[81-1][0] = 162;
869  ctbmap[81-1][1] = 178;
870  ctbmap[82-1][0] = 161;
871  ctbmap[82-1][1] = 177;
872  ctbmap[83-1][0] = 160;
873  ctbmap[83-1][1] = 176;
874  ctbmap[84-1][0] = 175;
875  ctbmap[84-1][1] = 191;
876  ctbmap[85-1][0] = 174;
877  ctbmap[85-1][1] = 190;
878  ctbmap[86-1][0] = 173;
879  ctbmap[86-1][1] = 189;
880  ctbmap[87-1][0] = 172;
881  ctbmap[87-1][1] = 188;
882  ctbmap[88-1][0] = 171;
883  ctbmap[88-1][1] = 187;
884  ctbmap[89-1][0] = 170;
885  ctbmap[89-1][1] = 186;
886  ctbmap[90-1][0] = 169;
887  ctbmap[90-1][1] = 185;
888  ctbmap[91-1][0] = 199;
889  ctbmap[91-1][1] = 215;
890  ctbmap[92-1][0] = 198;
891  ctbmap[92-1][1] = 214;
892  ctbmap[93-1][0] = 197;
893  ctbmap[93-1][1] = 213;
894  ctbmap[94-1][0] = 196;
895  ctbmap[94-1][1] = 212;
896  ctbmap[95-1][0] = 195;
897  ctbmap[95-1][1] = 211;
898  ctbmap[96-1][0] = 194;
899  ctbmap[96-1][1] = 210;
900  ctbmap[97-1][0] = 193;
901  ctbmap[97-1][1] = 209;
902  ctbmap[98-1][0] = 192;
903  ctbmap[98-1][1] = 208;
904  ctbmap[99-1][0] = 207;
905  ctbmap[99-1][1] = 223;
906  ctbmap[100-1][0] = 206;
907  ctbmap[100-1][1] = 222;
908  ctbmap[101-1][0] = 205;
909  ctbmap[101-1][1] = 221;
910  ctbmap[102-1][0] = 204;
911  ctbmap[102-1][1] = 220;
912  ctbmap[103-1][0] = 203;
913  ctbmap[103-1][1] = 219;
914  ctbmap[104-1][0] = 202;
915  ctbmap[104-1][1] = 218;
916  ctbmap[105-1][0] = 201;
917  ctbmap[105-1][1] = 217;
918  ctbmap[106-1][0] = 231;
919  ctbmap[106-1][1] = 247;
920  ctbmap[107-1][0] = 230;
921  ctbmap[107-1][1] = 246;
922  ctbmap[108-1][0] = 229;
923  ctbmap[108-1][1] = 245;
924  ctbmap[109-1][0] = 228;
925  ctbmap[109-1][1] = 244;
926  ctbmap[110-1][0] = 227;
927  ctbmap[110-1][1] = 243;
928  ctbmap[111-1][0] = 226;
929  ctbmap[111-1][1] = 242;
930  ctbmap[112-1][0] = 225;
931  ctbmap[112-1][1] = 241;
932  ctbmap[113-1][0] = 224;
933  ctbmap[113-1][1] = 240;
934  ctbmap[114-1][0] = 239;
935  ctbmap[114-1][1] = 255;
936  ctbmap[115-1][0] = 238;
937  ctbmap[115-1][1] = 254;
938  ctbmap[116-1][0] = 237;
939  ctbmap[116-1][1] = 253;
940  ctbmap[117-1][0] = 236;
941  ctbmap[117-1][1] = 252;
942  ctbmap[118-1][0] = 235;
943  ctbmap[118-1][1] = 251;
944  ctbmap[119-1][0] = 234;
945  ctbmap[119-1][1] = 250;
946  ctbmap[120-1][0] = 233;
947  ctbmap[120-1][1] = 249;
948 }
949 #if 0
950 void St_trg_Maker::InitMwcArrays(void) {
951  static int call=0;
952  call++;
953  assert(call<=1); /* No sense doing this more than once. */
954  mwcmap[ 1-1][0] = 71;
955  mwcmap[ 1-1][1] = 70;
956  mwcmap[ 1-1][2] = 69;
957  mwcmap[ 1-1][3] = 68;
958  mwcmap[ 2-1][0] = 67;
959  mwcmap[ 2-1][1] = 66;
960  mwcmap[ 2-1][2] = 65;
961  mwcmap[ 2-1][3] = 64;
962  mwcmap[ 3-1][0] = 79;
963  mwcmap[ 3-1][1] = 78;
964  mwcmap[ 3-1][2] = 77;
965  mwcmap[ 3-1][3] = 76;
966  mwcmap[ 4-1][0] = 95;
967  mwcmap[ 4-1][1] = 94;
968  mwcmap[ 4-1][2] = 93;
969  mwcmap[ 4-1][3] = 92;
970  mwcmap[ 5-1][0] = 87;
971  mwcmap[ 5-1][1] = 86;
972  mwcmap[ 5-1][2] = 85;
973  mwcmap[ 5-1][3] = 84;
974  mwcmap[ 6-1][0] = 83;
975  mwcmap[ 6-1][1] = 82;
976  mwcmap[ 6-1][2] = 81;
977  mwcmap[ 6-1][3] = 80;
978  mwcmap[ 7-1][0] = 99;
979  mwcmap[ 7-1][1] = 98;
980  mwcmap[ 7-1][2] = 97;
981  mwcmap[ 7-1][3] = 96;
982  mwcmap[ 8-1][0] = 111;
983  mwcmap[ 8-1][1] = 110;
984  mwcmap[ 8-1][2] = 109;
985  mwcmap[ 8-1][3] = 108;
986  mwcmap[ 9-1][0] = 103;
987  mwcmap[ 9-1][1] = 102;
988  mwcmap[ 9-1][2] = 101;
989  mwcmap[ 9-1][3] = 100;
990  mwcmap[10-1][0] = 119;
991  mwcmap[10-1][1] = 118;
992  mwcmap[10-1][2] = 117;
993  mwcmap[10-1][3] = 116;
994  mwcmap[11-1][0] = 115;
995  mwcmap[11-1][1] = 114;
996  mwcmap[11-1][2] = 113;
997  mwcmap[11-1][3] = 112;
998  mwcmap[12-1][0] = 127;
999  mwcmap[12-1][1] = 126;
1000  mwcmap[12-1][2] = 125;
1001  mwcmap[12-1][3] = 124;
1002  mwcmap[13-1][0] = 7;
1003  mwcmap[13-1][1] = 6;
1004  mwcmap[13-1][2] = 5;
1005  mwcmap[13-1][3] = 4;
1006  mwcmap[14-1][0] = 3;
1007  mwcmap[14-1][1] = 2;
1008  mwcmap[14-1][2] = 1;
1009  mwcmap[14-1][3] = 0;
1010  mwcmap[15-1][0] = 15;
1011  mwcmap[15-1][1] = 14;
1012  mwcmap[15-1][2] = 13;
1013  mwcmap[15-1][3] = 12;
1014  mwcmap[16-1][0] = 31;
1015  mwcmap[16-1][1] = 30;
1016  mwcmap[16-1][2] = 29;
1017  mwcmap[16-1][3] = 28;
1018  mwcmap[17-1][0] = 23;
1019  mwcmap[17-1][1] = 22;
1020  mwcmap[17-1][2] = 21;
1021  mwcmap[17-1][3] = 20;
1022  mwcmap[18-1][0] = 19;
1023  mwcmap[18-1][1] = 18;
1024  mwcmap[18-1][2] = 17;
1025  mwcmap[18-1][3] = 16;
1026  mwcmap[19-1][0] = 35;
1027  mwcmap[19-1][1] = 34;
1028  mwcmap[19-1][2] = 33;
1029  mwcmap[19-1][3] = 32;
1030  mwcmap[20-1][0] = 47;
1031  mwcmap[20-1][1] = 46;
1032  mwcmap[20-1][2] = 45;
1033  mwcmap[20-1][3] = 44;
1034  mwcmap[21-1][0] = 39;
1035  mwcmap[21-1][1] = 38;
1036  mwcmap[21-1][2] = 37;
1037  mwcmap[21-1][3] = 36;
1038  mwcmap[22-1][0] = 55;
1039  mwcmap[22-1][1] = 54;
1040  mwcmap[22-1][2] = 53;
1041  mwcmap[22-1][3] = 52;
1042  mwcmap[23-1][0] = 51;
1043  mwcmap[23-1][1] = 50;
1044  mwcmap[23-1][2] = 49;
1045  mwcmap[23-1][3] = 48;
1046  mwcmap[24-1][0] = 63;
1047  mwcmap[24-1][1] = 62;
1048  mwcmap[24-1][2] = 61;
1049  mwcmap[24-1][3] = 60;
1050  auxmwcmap[ 0] = 75;
1051  auxmwcmap[ 1] = 74;
1052  auxmwcmap[ 2] = 73;
1053  auxmwcmap[ 3] = 72;
1054  auxmwcmap[ 4] = 91;
1055  auxmwcmap[ 5] = 90;
1056  auxmwcmap[ 6] = 89;
1057  auxmwcmap[ 7] = 88;
1058  auxmwcmap[ 8] = 107;
1059  auxmwcmap[ 9] = 106;
1060  auxmwcmap[10] = 105;
1061  auxmwcmap[11] = 104;
1062  auxmwcmap[12] = 123;
1063  auxmwcmap[13] = 122;
1064  auxmwcmap[14] = 121;
1065  auxmwcmap[15] = 120;
1066  auxmwcmap[16] = 11;
1067  auxmwcmap[17] = 10;
1068  auxmwcmap[18] = 9;
1069  auxmwcmap[19] = 8;
1070  auxmwcmap[20] = 27;
1071  auxmwcmap[21] = 26;
1072  auxmwcmap[22] = 25;
1073  auxmwcmap[23] = 24;
1074  auxmwcmap[24] = 43;
1075  auxmwcmap[25] = 42;
1076  auxmwcmap[26] = 41;
1077  auxmwcmap[27] = 40;
1078  auxmwcmap[28] = 59;
1079  auxmwcmap[29] = 58;
1080  auxmwcmap[30] = 57;
1081  auxmwcmap[31] = 56;
1082 }
1083 #endif
1084 
1085 
1086 
1087 // $Id: St_trg_Maker.cxx,v 1.58 2017/04/26 21:05:26 perev Exp $
1088 // $Log: St_trg_Maker.cxx,v $
1089 // Revision 1.58 2017/04/26 21:05:26 perev
1090 // Hide m_DataSet
1091 //
1092 // Revision 1.57 2009/01/26 15:14:13 fisyak
1093 // Comment out mwc
1094 //
1095 // Revision 1.56 2007/06/06 12:26:53 fine
1096 // Switch to STAR Logger
1097 //
1098 // Revision 1.55 2007/04/28 17:57:26 perev
1099 // Redundant StChain.h removed
1100 //
1101 // Revision 1.54 2007/03/23 17:28:56 jeromel
1102 // One more small modif (print year)
1103 //
1104 // Revision 1.52 2005/01/07 15:26:54 jeromel
1105 // Assume same decoding 2005=2004 .
1106 //
1107 // Revision 1.51 2004/08/07 03:02:20 perev
1108 // corruption test added
1109 //
1110 // Revision 1.50 2004/03/09 18:38:43 ward
1111 // Take care of Insure warning.
1112 //
1113 // Revision 1.49 2004/03/09 18:19:06 ward
1114 // Added pedestal and noise capability to the SSD reader.
1115 //
1116 // Revision 1.48 2004/02/18 20:17:49 ward
1117 // Access SSD data in makers.
1118 //
1119 // Revision 1.47 2004/01/03 03:32:26 jeromel
1120 // Temptative 2003-like approach
1121 //
1122 // Revision 1.46 2003/10/06 04:07:20 perev
1123 // bug in duplicated.code fixed and this file renamed
1124 //
1125 // Revision 1.45 2003/09/02 17:59:33 perev
1126 // gcc 3.2 updates + WarnOff
1127 //
1128 // Revision 1.44 2003/07/16 19:58:35 perev
1129 // Cleanup of StTriggerData2003 at all
1130 //
1131 // Revision 1.43 2003/03/24 18:12:16 ward
1132 // Full support for EEMC from Herbert Ward.
1133 //
1134 // Revision 1.42 2003/01/21 04:41:29 jeromel
1135 // float to int fix
1136 //
1137 // Revision 1.41 2003/01/21 01:31:57 jeromel
1138 // Minor changes in messaging (small request from Janet) to bring some consistency.
1139 // doxygenized the .h
1140 //
1141 // Revision 1.40 2003/01/16 13:32:32 ward
1142 // Accomodation of the new trgStructures.h.
1143 //
1144 // Revision 1.37 2002/04/09 00:01:37 ward
1145 // Bug fix in Vladimir2Herbert().
1146 //
1147 // Revision 1.36 2002/02/19 18:34:44 ward
1148 // Changes from Jenn Klay: EMC unpacker rewritten, updated dsm-to-patch conversion to match offline software.
1149 //
1150 // Revision 1.35 2001/12/04 18:24:13 jeromel
1151 // Small modif of return value to make Insure happy.
1152 //
1153 // Revision 1.34 2001/10/16 20:26:02 ward
1154 // New code from Jennifer Klay for unpacking EMC data.
1155 //
1156 // Revision 1.33 2001/09/11 21:49:46 ward
1157 // Changes to StDaqLib/TRG for running year 2000 data.
1158 //
1159 // Revision 1.32 2001/09/04 20:06:33 ward
1160 // I had a typo in the previous correction.
1161 //
1162 // Revision 1.31 2001/09/04 20:02:49 ward
1163 // Correction in ctb_dsm_2001.map copied into maker code.
1164 //
1165 // Revision 1.30 2001/09/03 19:09:39 ward
1166 // Runtime selection of 2000 or 2001 trigger data format.
1167 //
1168 // Revision 1.29 2001/08/22 15:16:30 ward
1169 // Changed the laser flag from x9001 to x9009.
1170 //
1171 // Revision 1.28 2001/08/15 17:12:18 ward
1172 // m_Mode third bit means pass pulser events.
1173 //
1174 // Revision 1.27 2001/07/25 19:10:53 ward
1175 // New function InitCtbArrays2001 for ctb_dsm_2001.map.
1176 //
1177 // Revision 1.26 2001/07/18 20:12:15 ward
1178 // New trigger information for DST tables.
1179 //
1180 // Revision 1.25 2001/07/12 17:40:34 ward
1181 // New version of trgStructures.h, and modifications to other code in support thereof.
1182 //
1183 // Revision 1.24 2001/01/18 16:55:05 ward
1184 // Corrections in Vladimir2Herbert from Vladimir Morozov.
1185 //
1186 // Revision 1.23 2001/01/16 20:27:53 ward
1187 // npre=5 npost=5 instead of 0 in St_trg_Maker::HandleMwc
1188 //
1189 // Revision 1.22 2001/01/10 18:12:12 ward
1190 // MWC corrections from Vladimir Morozov.
1191 //
1192 // Revision 1.21 2001/01/02 18:10:44 ward
1193 // Pablo Yepes' modifications in support of CTU simulations.
1194 //
1195 // Revision 1.20 2000/10/02 19:41:54 ward
1196 // Added DSMInput and DetectorBusy to trigger DST output (dst_L0_Trigger).
1197 //
1198 // Revision 1.19 2000/08/19 19:51:55 ward
1199 // Change physics mask from 0x2XXX to 0x4XXX.
1200 //
1201 // Revision 1.18 2000/08/16 01:28:40 ward
1202 // Report TrgActionWd as diagnostic for oo.
1203 //
1204 // Revision 1.17 2000/08/15 19:41:32 ward
1205 // Configuration via m_mode of which event types are skipped.
1206 //
1207 // Revision 1.16 2000/08/13 18:32:59 ward
1208 // Returns kStErr for laser events.
1209 //
1210 // Revision 1.15 2000/07/27 18:06:18 ward
1211 // Put TriggerWd into DST instead of TrgToken (for Jan Belewski).
1212 //
1213 // Revision 1.14 2000/07/19 22:03:43 ward
1214 // Switch from non-attenuated to attenuated ZDC.
1215 //
1216 // Revision 1.13 2000/07/13 18:48:23 ward
1217 // Fixed ZDC indices according to email from Javier.
1218 //
1219 // Revision 1.12 2000/06/25 23:51:03 fisyak
1220 // Replace assert by return of kStErr
1221 //
1222 // Revision 1.11 2000/05/16 02:01:46 fisyak
1223 // Correction for removed trg_fillDst
1224 //
1225 // Revision 1.10 2000/05/04 22:25:21 ward
1226 // New 3d DST tables, and some support for sim.
1227 //
1228 // Revision 1.9 2000/02/25 17:58:41 ward
1229 // Changed array sizes for ctb and mwc. Thx to Joakim Nystrand.
1230 //
1231 // Revision 1.8 2000/02/04 18:57:17 ward
1232 // Added dst_L1_Trigger and dst_L2_Trigger to output.
1233 //
1234 // Revision 1.7 2000/01/26 18:55:37 ward
1235 // Changed name of L0 table from TrgDet2 to L0_Trigger.
1236 //
1237 // Revision 1.6 2000/01/24 20:35:39 ward
1238 // Access trigger data.
1239 //
1240 // Revision 1.5 1999/07/15 13:58:32 perev
1241 // cleanup
1242 //
1243 // Revision 1.4 1999/07/11 19:32:42 druss
1244 // Change DST table from dst_TriggerDetectors to dst_TrgDet.
1245 // The classname can only be 19 letters long.
1246 //
1247 // also put the m_Dataset->add line before the PAM is called.
1248 // SPIROS is checking in the change to the actual idl file (part of global)
1249 //
1250 // Revision 1.3 1999/06/24 18:02:46 druss
1251 // add a line to make sure that the table exists...
1252 //
1253 // Revision 1.2 1999/03/14 00:25:40 perev
1254 // New makers
1255 //
1256 // Revision 1.1 1999/02/06 01:51:22 yepes
1257 // Add trg maker
1258 //
1259 // Revision 1.7 1998/10/31 00:25:45 fisyak
1260 // Makers take care about branches
1261 //
1262 // Revision 1.6 1998/10/06 18:00:29 perev
1263 // cleanup
1264 //
1265 // Revision 1.5 1998/10/02 13:46:08 fine
1266 // DataSet->DataSetIter
1267 //
1268 // Revision 1.4 1998/08/14 15:25:58 fisyak
1269 // add options
1270 //
1271 // Revision 1.3 1998/08/10 02:32:07 fisyak
1272 // Clean up
1273 //
1274 // Revision 1.2 1998/07/20 15:08:15 fisyak
1275 // Add tcl and tpt
1276 //
virtual void AddData(TDataSet *data, const char *dir=".data")
User methods.
Definition: StMaker.cxx:332
virtual TObject * GetObject() const
The depricated method (left here for the sake of the backward compatibility)
Definition: TDataSet.cxx:428
Definition: Stypes.h:42
Definition: Stypes.h:40
virtual Int_t Make()
Definition: Stypes.h:41
virtual TDataSet * Find(const char *path) const
Definition: TDataSet.cxx:362