asyncScan.cxx

00001 .L testAsyncScan.cxx
00002  
00003 {
00004   // tapi.changeRunMode(0);
00005  
00006   // only needed for cosmics...
00007   //  writeRegister(0x217, 1, 1, 1);
00008   //  tapi.timRegLoad(0, 0x200)
00009 
00010   // No S-link
00011   //  writeRegister(0x202, 7, 1, 1);
00012   //  writeRegister(0x202, 3, 1, 1);
00013 
00014   // ROD triggers
00015 //   TTrigger trig;
00016 //   trig.singleL1A();
00017 //   for(int i=0; i<100; i++) tapi.sendRodTrigger(0, trig);
00018 
00019   tapi.timSetFrequency(10, 0.01);
00020 
00021   // Optional configuration of modules...
00022 //   tapi.modifyABCDVar(11, 1.0);
00023 //   tapi.modifyABCDVar(13, 0.0);
00024 //   tapi.modifyABCDVar(14, 0.0);
00025 
00026 //   tapi.modifyABCDVar(41, 2.5);  // QTHR Set to 1fC
00027 //   tapi.modifyABCDVar(42, 0.0);  // 0 fC injection
00028 
00029   tapi.changeRunMode(0);
00030 
00031   TScanMonitor *monitor = testAsyncScan();
00032   //  writeRegister(0x217, 1, 1, 0);
00033   tapi.changeRunMode(0);
00034 
00035   // Add l1a and clock to what's already there
00036   tapi.timRegLoad(0x18, 0x603);
00037   // Add resets as well
00038   tapi.timRegLoad(0x18, 0x62f);
00039 
00040   // Correct BC offset (should only be necessary when resets come from TIM)
00041   tapi.timRegLoad(0x14, 0x4000);
00042 
00043 #if 0
00044   // Trigger types   hi TIM, lo TTC 
00045   tapi.timRegLoad(0x16, 0x102);
00046   // ROD TTC match
00047   writeRegister(0x203, 0, 8, 2);
00048   // ROD TIM match
00049   writeRegister(0x203, 8, 8, 1);
00050   // Match ATLAS(1), TIM(2), ROD(4)
00051   writeRegister(0x202, 0, 3, 1);
00052 #endif
00053 
00054   tapi.timSoftReset(0, 0);
00055   tapi.timBCReset(0, 0);
00056   tapi.sendTimBurst(1000, true);
00057   monitor->newBin(1000, 1);
00058   monitor->finishScan();
00059 
00060   tapi.scanEvents(0);
00061   tapi.decodeEvent(0, 0, 6, 0, 1);
00062   printf("%x\n", 2987);
00063   tapi.changeRunMode(1);
00064 }

Generated on Mon Feb 6 14:01:17 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6