AraEvent/IcrrHkData.cxx
00001 00002 00003 00004 00005 00006 00007 00008 00009 #include "IcrrHkData.h" 00010 #include "TMath.h" 00011 #include <iostream> 00012 #include <fstream> 00013 #include <cstring> 00014 ClassImp(IcrrHkData); 00015 00016 IcrrHkData::IcrrHkData() 00017 { 00018 //Default Constructor 00019 } 00020 00021 IcrrHkData::~IcrrHkData() { 00022 //Default Destructor 00023 } 00024 00025 00026 IcrrHkData::IcrrHkData(IcrrHkDataStruct_t *theHk) 00027 { 00028 //From IcrrTemperatureDataStruct_t 00029 memcpy(temp,theHk->temp.temp,8*sizeof(unsigned short)); 00030 00031 //From IcrrRFPowerDataStruct_t 00032 memcpy(rfpDiscone,theHk->rfPow.discone,8*sizeof(unsigned short)); 00033 memcpy(rfpBatwing,theHk->rfPow.batwing,8*sizeof(unsigned short)); 00034 00035 //From IcrrDACDataStruct_t 00036 memcpy(dac,theHk->dac.dac,6*4*sizeof(unsigned short)); 00037 00038 //From IcrrSimpleScalerStruct_t 00039 memcpy(sclDiscone,theHk->scaler.discone,8*sizeof(unsigned short)); 00040 memcpy(sclBatPlus,theHk->scaler.batPlus,8*sizeof(unsigned short)); 00041 memcpy(sclBatMinus,theHk->scaler.batMinus,8*sizeof(unsigned short)); 00042 memcpy(sclTrigL1,theHk->scaler.trigL1,12*sizeof(unsigned short)); 00043 sclGlobal=theHk->scaler.global; 00044 00045 00046 } 00047 00048 char IcrrHkData::getDacLetter(int index) 00049 { 00050 if(index<0 || index>5) return '?'; 00051 char alphabet[6]={'A','B','C','D','E','F'}; 00052 return alphabet[index]; 00053 00054 } 00055 00056 00057 00058 double IcrrHkData::getRFPowerDiscone(int discId) 00059 { 00060 if(discId<0 || discId>7) return 0; 00061 Double_t ped=813; //Average ANITA-II value 00062 Double_t slope=0.0404; //Average ANITA-II value 00063 Double_t refTemp=393; //Average ANITA-II value 00064 00065 Double_t DA=rfpDiscone[discId]-ped; 00066 Double_t kelvin=refTemp*TMath::Power(10,(slope*DA/10.)); 00067 return kelvin; 00068 00069 } 00070 00071 double IcrrHkData::getRFPowerBatwing(int batId) 00072 { 00073 if(batId<0 || batId>7) return 0; 00074 Double_t ped=813; //Average ANITA-II value 00075 Double_t slope=0.0404; //Average ANITA-II value 00076 Double_t refTemp=393; //Average ANITA-II value 00077 00078 Double_t DA=rfpBatwing[batId]-ped; 00079 Double_t kelvin=refTemp*TMath::Power(10,(slope*DA/10.)); 00080 return kelvin; 00081 00082 } 00083 00084 Double_t IcrrHkData::getTemperature(int tempId) 00085 { 00086 if (tempId<0 || tempId>7) 00087 return -99.9; 00088 00089 double deg_a = (char)(temp[tempId]>>2); 00090 deg_a += (temp[tempId]&0x3) * 0.25; 00091 00092 return deg_a; 00093 }
Generated on Wed Aug 8 16:20:07 2012 for ARA ROOT Test Bed Software by
