ARA ROOT v3.11 Software

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 Fri Jul 26 15:27:35 2013 for ARA ROOT v3.11 Software by doxygen 1.4.7