ARA ROOT v3.6 Software

AraEvent/AtriEventHkData.cxx

00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 #include "AtriEventHkData.h"
00010 #include "TMath.h"
00011 #include <iostream>
00012 #include <fstream>
00013 #include <cstring>
00014 ClassImp(AtriEventHkData);
00015 
00016 AtriEventHkData::AtriEventHkData() 
00017 {
00018    //Default Constructor
00019 }
00020 
00021 AtriEventHkData::~AtriEventHkData() {
00022    //Default Destructor
00023 }
00024 
00025 
00026 AtriEventHkData::AtriEventHkData(AraEventHk_t *theHk)
00027   :RawAraGenericHeader(&(theHk->gHdr))
00028 {
00029   unixTime=theHk->unixTime; 
00030   unixTimeUs=theHk->unixTimeUs; 
00031   firmwareVersion=theHk->firmwareVersion; 
00032   firmwareVersionMaj = (firmwareVersion & 0xf000) >> 12;
00033   firmwareVersionMid = (firmwareVersion & 0xf00) >> 8;
00034   firmwareVersionMin = (firmwareVersion & 0xff);
00035 
00036 
00037 
00038   memcpy(wilkinsonCounter,theHk->wilkinsonCounter,DDA_PER_ATRI*sizeof(UShort_t)); 
00039   memcpy(wilkinsonDelay,theHk->wilkinsonDelay,DDA_PER_ATRI*sizeof(UShort_t)); 
00040   ppsCounter=theHk->ppsCounter; 
00041   clockCounter=theHk->clockCounter; 
00042 
00043   memcpy(l1ScalerSurface,theHk->l1ScalerSurface,ANTS_PER_TDA*sizeof(uint16_t)); 
00044   memcpy(l1Scaler,theHk->l1Scaler,NUM_L1_SCALERS*sizeof(uint16_t)); 
00045   memcpy(l2Scaler,theHk->l2Scaler,NUM_L2_SCALERS*sizeof(uint16_t)); 
00046   memcpy(l3Scaler,theHk->l3Scaler,NUM_L3_SCALERS*sizeof(uint16_t)); 
00047   memcpy(l4Scaler,theHk->l4Scaler,NUM_L4_SCALERS*sizeof(uint16_t)); 
00048   memcpy(t1Scaler,theHk->t1Scaler,NUM_T1_SCALERS*sizeof(uint16_t)); 
00049   memcpy(thresholdDac,theHk->thresholdDac,NUM_L1_SCALERS*sizeof(uint16_t));
00050   memcpy(surfaceThresholdDac,theHk->surfaceThresholdDac,ANTS_PER_TDA*sizeof(uint16_t)); 
00051 
00052   memcpy(deadTime,theHk->deadTime,DDA_PER_ATRI*sizeof(UChar_t));
00053   memcpy(avgOccupancy,theHk->avgOccupancy,DDA_PER_ATRI*sizeof(UChar_t));
00054   memcpy(maxOccupancy,theHk->maxOccupancy,DDA_PER_ATRI*sizeof(UChar_t));
00055   memcpy(vdlyDac,theHk->vdlyDac,DDA_PER_ATRI*sizeof(UShort_t));
00056   memcpy(vadjDac,theHk->vadjDac,DDA_PER_ATRI*sizeof(UShort_t));
00057 
00058 
00059 }
00060 
00061 AtriEventHkData::AtriEventHkData(AraEventHk2_7_t *theHk)
00062   :RawAraGenericHeader(&(theHk->gHdr))
00063 {
00064   unixTime=theHk->unixTime; 
00065   unixTimeUs=theHk->unixTimeUs; 
00066   firmwareVersion=theHk->firmwareVersion; 
00067   firmwareVersion=theHk->firmwareVersion; 
00068   firmwareVersionMaj = (firmwareVersion & 0xf000) >> 12;
00069   firmwareVersionMid = (firmwareVersion & 0xf00) >> 8;
00070   firmwareVersionMin = (firmwareVersion & 0xff);
00071 
00072   memcpy(wilkinsonCounter,theHk->wilkinsonCounter,DDA_PER_ATRI*sizeof(UShort_t)); 
00073   memcpy(wilkinsonDelay,theHk->wilkinsonDelay,DDA_PER_ATRI*sizeof(UShort_t)); 
00074   ppsCounter=theHk->ppsCounter; 
00075   clockCounter=theHk->clockCounter; 
00076   memcpy(deadTime,theHk->deadTime,DDA_PER_ATRI*sizeof(UChar_t));
00077   memcpy(avgOccupancy,theHk->avgOccupancy,DDA_PER_ATRI*sizeof(UChar_t));
00078   memcpy(maxOccupancy,theHk->maxOccupancy,DDA_PER_ATRI*sizeof(UChar_t));
00079   memcpy(vdlyDac,theHk->vdlyDac,DDA_PER_ATRI*sizeof(UShort_t));
00080   memcpy(vadjDac,theHk->vadjDac,DDA_PER_ATRI*sizeof(UShort_t));
00081  
00082 }
00083 
00084 Double_t AtriEventHkData::wilkinsonCounterNs(Int_t dda){
00085   if(dda >= DDA_PER_ATRI || dda < 0) return -1;
00086   Double_t wilkNs = wilkinsonCounter[dda]*(20.83/64.);
00087   return wilkNs;
00088 
00089 }
00090 
00091 
00092 Double_t AtriEventHkData::getSingleChannelRateHz(Int_t tda, Int_t channel){
00093   if(tda >= TDA_PER_ATRI || tda < 0) return -1;
00094   if(channel>= ANTS_PER_TDA || tda <0) return -1;
00095   uint8_t preScale=32;
00096 
00097   return l1Scaler[tda*ANTS_PER_TDA+channel] * preScale;
00098   
00099 }
00100 Double_t AtriEventHkData::getOneOfFourRateHz(Int_t tda){
00101   if(tda >= TDA_PER_ATRI || tda < 0) return -1;
00102   uint8_t preScale=1;
00103   if(firmwareVersionMaj > 0 || firmwareVersionMid > 9 || firmwareVersionMin >= 40) preScale=64; 
00104 
00105   return l2Scaler[tda*4]*preScale;
00106 
00107 
00108 }
00109 Double_t AtriEventHkData::getTwoOfFourRateHz(Int_t tda){
00110   if(tda >= TDA_PER_ATRI || tda < 0) return -1;
00111   return l2Scaler[tda*4+1];
00112 
00113 
00114 }
00115 Double_t AtriEventHkData::getThreeOfFourRateHz(Int_t tda){
00116   if(tda >= TDA_PER_ATRI || tda < 0) return -1;
00117   return l2Scaler[tda*4+2];
00118 
00119 
00120 }
00121 Double_t AtriEventHkData::getThreeOfEightRateHz(Int_t tda_pair){
00122   if(tda_pair > 1 || tda_pair <0) return -1;
00123   return l3Scaler[tda_pair];
00124 
00125 }

Generated on Mon Mar 18 16:04:45 2013 for ARA ROOT v3.6 Software by doxygen 1.4.7