AraEvent/IcrrTriggerMonitor.cxx
00001 00002 00003 00004 00005 00006 00007 00008 00009 #include "IcrrTriggerMonitor.h" 00010 #include <iostream> 00011 #include <fstream> 00012 #include <cstring> 00013 ClassImp(IcrrTriggerMonitor); 00014 00015 00016 00017 IcrrTriggerMonitor::IcrrTriggerMonitor() 00018 { 00019 //Default Constructor 00020 } 00021 00022 IcrrTriggerMonitor::~IcrrTriggerMonitor() { 00023 //Default Destructor 00024 } 00025 00026 00027 IcrrTriggerMonitor::IcrrTriggerMonitor(IcrrTriggerMonitorStruct_t *theTrig) 00028 { 00029 trigType=theTrig->trigType; 00030 ppsNum=theTrig->ppsNum; 00031 deadTime1=theTrig->deadTime1; 00032 deadTime2=theTrig->deadTime2; 00033 trigPattern=theTrig->trigPattern; 00034 rovdd[0]=theTrig->rovdd[0]; 00035 rovdd[1]=theTrig->rovdd[1]; 00036 rovdd[2]=theTrig->rovdd[2]; 00037 rcoCount[0]=theTrig->rcoCount[0]; 00038 rcoCount[1]=theTrig->rcoCount[1]; 00039 rcoCount[2]=theTrig->rcoCount[2]; 00040 } 00041 00042 Int_t IcrrTriggerMonitor::isInTrigPattern(int bit) 00043 { 00044 if(bit<0 || bit>15) return 0; 00045 if(trigPattern & (1<<bit)) 00046 return 1; 00047 return 0; 00048 } 00049 00050 Int_t IcrrTriggerMonitor::isInTrigType(int bit) 00051 { 00052 if(bit<0 || bit>2) return 0; 00053 if(trigType & (1<<bit)) 00054 return 1; 00055 return 0; 00056 } 00057 00058 Double_t IcrrTriggerMonitor::getDeadtime() 00059 { 00060 return ((deadTime1*65536.0+deadTime2*1.0)/10000000.0); 00061 } 00062 00063 UInt_t IcrrTriggerMonitor::getRubidiumTriggerTime() 00064 { 00065 UInt_t lsb=rovdd[1]; 00066 UInt_t msb=rovdd[0]; 00067 lsb+=(rovdd[0]<<16); 00068 return lsb; 00069 } 00070 00071 Double_t IcrrTriggerMonitor::getRubidiumTriggerTimeInSec() 00072 { 00073 UInt_t rbTime=getRubidiumTriggerTime(); 00074 if(rbTime>=RUBIDIUM_FREQUENCY) { 00075 std::cout << "Abnormal Rubidium time of " << rbTime << "\n"; 00076 rbTime=RUBIDIUM_FREQUENCY-1; 00077 } 00078 return Double_t(rbTime)/RUBIDIUM_FREQUENCY; 00079 00080 }
Generated on Tue Jul 16 16:58:01 2013 for ARA ROOT v3.10 Software by
