PrettyAnitaHk.cxx
1 
10 #include "PrettyAnitaHk.h"
11 #include <iostream>
12 #include <fstream>
13 #include <cstring>
14 
15 ClassImp(PrettyAnitaHk);
16 
18 {
19  //Default Constructor
20 }
21 
23  //Default Destructor
24 }
25 
27 {
28  run=calHk->run;
29  realTime=calHk->realTime;
30  payloadTime=calHk->payloadTime;
32  magnetometer[0]=calHk->magX;
33  magnetometer[1]=calHk->magY;
34  magnetometer[2]=calHk->magZ;
35 
36  for(int i=0;i<NUM_INT_TEMPS;i++) {
37  intTemps[i]=calHk->getInternalTemp(i);
38  }
39  for(int i=0;i<NUM_SBS_TEMPS;i++) {
40  intTemps[NUM_INT_TEMPS+i]=calHk->getSBSTemp(i);
41  }
42  for(int i=0;i<NUM_EXT_TEMPS;i++) {
43  extTemps[i]=calHk->getExternalTemp(i);
44  }
45  for(int i=0;i<NUM_VOLTAGES;i++) {
46  voltages[i]=calHk->getVoltage(i);
47  }
48  for(int i=0;i<NUM_CURRENTS;i++) {
49  currents[i]=calHk->getCurrent(i);
50  }
51  for(int i=0;i<NUM_PRESSURES;i++) {
52  pressures[i]=calHk->getPressure(i);
53  }
54  for(int i=0;i<NUM_ACCELEROMETERS;i++) {
55  for(int j=0;j<4;j++) {
56  accelerometer[i][j]=calHk->getAccelerometer(i,j);
57  }
58  }
59  for(int i=0;i<NUM_SUNSENSORS;i++) {
60  for(int j=0;j<5;j++) {
61  rawSunSensor[i][j]=calHk->getRawSunsensor(i,j);
62  }
63  Float_t tempSS=0,tempSSX=0,tempSSY=0;
64  calHk->getSSMagnitude(i,&tempSS,&tempSSX,&tempSSY);
65  ssMag[i][0]=tempSSX;
66  ssMag[i][1]=tempSSY;
67 
68  Float_t tempSSAz=0,tempSSAzRel=0,tempSSEl=0,tempSSPos[3]={0};
69  ssGoodFlag[i]=calHk->getFancySS(i,tempSSPos,&tempSSAz,&tempSSEl,&tempSSAzRel);
70  ssElevation[i]=tempSSEl;
71  ssAzimuth[i]=tempSSAz;
72  ssAzimuthAdu5[i]=tempSSAzRel;
73  }
74  intFlag=tintFlag;
75 }
76 
77 
79  UInt_t trealTime,
80  UInt_t tpayloadTime,
81  UInt_t tpayloadTimeUs,
82  Float_t *tintTemps,
83  Float_t *textTemps,
84  Float_t *tvoltages,
85  Float_t *tcurrents,
86  Float_t *tmagnetometer,
87  Float_t *tpressures,
88  Float_t *taccelerometer[],
89  Float_t *trawSunSensor[],
90  Float_t *tssMag[],
91  Float_t *tssElevation,
92  Float_t *tssAzimuth,
93  Float_t *tssAzimuthAdu5,
94  Int_t *tssGoodFlag,
95  Int_t tintFlag)
96 {
97 
98  run=trun;
99  realTime=trealTime;
100  payloadTime=tpayloadTime;
101  payloadTimeUs=tpayloadTimeUs;
102  memcpy(intTemps,tintTemps,sizeof(Float_t)*19);
103  memcpy(extTemps,textTemps,sizeof(Float_t)*25);
104  memcpy(voltages,tvoltages,sizeof(Float_t)*11);
105  memcpy(currents,tcurrents,sizeof(Float_t)*12);
106  memcpy(magnetometer,tmagnetometer,sizeof(Float_t)*3);
107  memcpy(pressures,tpressures,sizeof(Float_t)*2);
108  memcpy(accelerometer,taccelerometer,sizeof(Float_t)*2*4);
109  memcpy(rawSunSensor,trawSunSensor,sizeof(Float_t)*4*5);
110  memcpy(ssMag,tssMag,sizeof(Float_t)*4*2);
111  memcpy(ssElevation,tssElevation,sizeof(Float_t)*4);
112  memcpy(ssAzimuth,tssAzimuth,sizeof(Float_t)*4);
113  memcpy(ssAzimuthAdu5,tssAzimuthAdu5,sizeof(Float_t)*4);
114  memcpy(ssGoodFlag,tssGoodFlag,sizeof(Float_t)*4);
115  intFlag=tintFlag;
116 
117 }
118 
Float_t getVoltage(int index)
Returns voltage (0:10)
Float_t ssMag[4][2]
Sunsensor magnitude data.
Definition: PrettyAnitaHk.h:62
Int_t getFancySS(int ssInd, Float_t pos[3], Float_t *azimuth, Float_t *elevation, Float_t *relAzimuth)
Convert sunsensor data to elevation and azimuth.
void getSSMagnitude(int ssInd, Float_t *magnitude, Float_t *magX, Float_t *magY)
Get sunsensor magnitude.
Float_t getExternalTemp(int index)
Returns external temperature in degrees (0:24)
UInt_t payloadTime
Time in unixTime.
Definition: CalibratedHk.h:74
Float_t intTemps[19]
Internal temperatures, includes extra sbsTemps.
Definition: PrettyAnitaHk.h:54
PrettyAnitaHk – The prettified ANITA Hk.
Definition: PrettyAnitaHk.h:22
Float_t getAccelerometer(int acInd, int type)
Returns accelerometer stuff.
UInt_t payloadTimeUs
Sub second time in us.
Definition: CalibratedHk.h:75
Float_t extTemps[25]
External temperatures.
Definition: PrettyAnitaHk.h:55
Float_t ssAzimuth[4]
Sunsensor azimuth data.
Definition: PrettyAnitaHk.h:64
Float_t magY
Magnetometer y direction.
Definition: CalibratedHk.h:80
Int_t run
Run number, assigned offline.
Definition: PrettyAnitaHk.h:50
Float_t getRawSunsensor(int ssInd, int type)
Returns raw sunsensor stuff, here type goes x1,x2,y1,y2,T.
Float_t getPressure(int index)
Returns pressure (0:1)
UInt_t payloadTime
Time in unixTime.
Definition: PrettyAnitaHk.h:52
Float_t getInternalTemp(int index)
Returns internal temperature in degrees (0:14)
PrettyAnitaHk()
Default constructor.
~PrettyAnitaHk()
Destructor.
UInt_t realTime
Time in unixTime.
Definition: PrettyAnitaHk.h:51
CalibratedHk – The calibrated housekeeping data.
Definition: CalibratedHk.h:61
Int_t ssGoodFlag[4]
Sunsensor goodness flag.
Definition: PrettyAnitaHk.h:66
Float_t magZ
Magnetometer z direction.
Definition: CalibratedHk.h:81
Int_t intFlag
Interpolation flag – zero for raw data.
Definition: PrettyAnitaHk.h:67
Float_t voltages[11]
voltages
Definition: PrettyAnitaHk.h:56
Float_t ssAzimuthAdu5[4]
Sunsensor azimuth relative to ADU5.
Definition: PrettyAnitaHk.h:65
Float_t pressures[2]
pressures
Definition: PrettyAnitaHk.h:59
Float_t rawSunSensor[4][5]
raw SS data
Definition: PrettyAnitaHk.h:61
Float_t magX
Magnetometer x direction.
Definition: CalibratedHk.h:79
Float_t getCurrent(int index)
Returns current (0:11)
Float_t accelerometer[2][4]
accelerometer data
Definition: PrettyAnitaHk.h:60
Float_t getSBSTemp(int index)
Returns SBS temperature in degrees (0:3)
UInt_t payloadTimeUs
Subsecond time.
Definition: PrettyAnitaHk.h:53
Int_t run
Assigned offline.
Definition: CalibratedHk.h:72
Float_t ssElevation[4]
Sunsensor elevation data.
Definition: PrettyAnitaHk.h:63
Float_t magnetometer[3]
magnetometer
Definition: PrettyAnitaHk.h:58
Float_t currents[12]
currents
Definition: PrettyAnitaHk.h:57
UInt_t realTime
Time in unixTime.
Definition: CalibratedHk.h:73