/[PAMELA software]/yodaUtility/YMcmd.h
ViewVC logotype

Contents of /yodaUtility/YMcmd.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Sat Jun 10 05:32:47 2006 UTC (18 years, 5 months ago) by kusanagi
Branch: MAIN
CVS Tags: yodaUtility2_0/00, yodaUtility2_2/00, yodaUtility2_1/00, HEAD
Changes since 1.1: +45 -0 lines
File MIME type: text/plain
Add inclination and orbital parameter unpacking.

1 #include <TObject.h>
2 #include <TFile.h>
3 #include <TObjString.h>
4 #include <TString.h>
5 #include <TTree.h>
6 #include <TArrayC.h>
7
8
9 using namespace std;
10 class DataItem : public TObject{
11 public:
12 string fileName;
13 DataItem() : TObject(){}
14 ~DataItem() {}
15
16 virtual const char* toXML(char* tab = "") {}
17 virtual void fill(TArrayC*) {}
18 };
19
20 class McmdItem : public DataItem{
21 public:
22 string fileName;
23 McmdItem() : DataItem(){}
24 ~McmdItem() {}
25
26 virtual const char* toXML(char* tab = "") {}
27 virtual void fill(TArrayC*) {}
28 };
29
30 class ElseItem : public McmdItem{
31 private:
32
33 public:
34 ElseItem::ElseItem() : McmdItem(){}
35 ElseItem::~ElseItem() {}
36
37 const char* ElseItem::toXML(char*);
38 void ElseItem::fill(TArrayC*) { }
39 };
40
41 class DownLinkItem : public McmdItem{
42 public:
43 unsigned int rawModeSectors; // From 4 to 2048 sector to Downlink in RAW mode
44 unsigned short rawMode; // 0 = NormalMode 1 = RawMode
45 unsigned short tmSel; // 0 = TM I/F A other = TM I/F B
46 unsigned short fileId; // 0 = File 1 1 = File 2
47 unsigned int orbitNumber; // Number of the orbit
48 unsigned short spareAdapt; // Number of the orbit
49
50 DownLinkItem() : McmdItem(){}
51 ~DownLinkItem() {}
52
53 void fill(TArrayC* data){ }
54 const char* toXML(char*);
55 };
56
57
58 class TimeSyncItem : public McmdItem{
59 public:
60 unsigned int newTime;
61 TimeSyncItem() : McmdItem(){}
62 ~TimeSyncItem() {}
63
64 void fill(TArrayC* data);
65 const char* toXML(char*);
66 };
67
68 class OrbitalInfoItem : public McmdItem{
69 public:
70 double time;
71
72 /* Position in Km */
73 /*pos[0] = pos_X*/
74 /*pos[1] = pos_Y*/
75 /*pos[2] = pos_Z*/
76 double pos[3];
77
78 /* Velocity in Km/s */
79 /*vel[0] = vel_X*/
80 /*vel[1] = vel_Y*/
81 /*vel[2] = vel_Z*/
82 double vel[3];
83
84 OrbitalInfoItem() : McmdItem(){}
85 ~OrbitalInfoItem() {}
86
87 void fill(TArrayC* data);
88 const char* toXML(char*);
89 };
90
91 class InclinationInfoItem : public McmdItem{
92 public:
93 /* Quaternions Lx_y
94 / The data are organized in 5 groups according to the format
95 / time - L0 - L1 - L2 - L3
96 / time[0] - quat[0][0] - quat[0][1] - quat[0][2] - quat[0][3]
97 / time[1] - quat[1][0] - quat[1][1] - quat[1][2] - quat[1][3]
98 / time[2] - quat[2][0] - quat[2][1] - quat[2][2] - quat[2][3]
99 / time[3] - quat[3][0] - quat[3][1] - quat[3][2] - quat[3][3]
100 / time[4] - quat[4][0] - quat[4][1] - quat[4][2] - quat[4][3]
101 / time[5] - quat[5][0] - quat[5][1] - quat[5][2] - quat[5][3]
102 */
103 double time[6];
104 double quat[6][4];
105
106 InclinationInfoItem() : McmdItem(){}
107 ~InclinationInfoItem() {}
108
109 void fill(TArrayC* data);
110 const char* toXML(char*);
111 };
112
113 //For now i dont store the Parameters sequence
114 class SelectOpModeItem : public McmdItem{
115 public:
116 unsigned short mode;
117 unsigned short paramNumber;
118 SelectOpModeItem() : McmdItem(){}
119 ~SelectOpModeItem() {}
120
121 void fill(TArrayC* data);
122 const char* toXML(char*);
123 };
124
125 class BiteItem : public McmdItem{
126 public:
127 unsigned int fillerWord;
128 BiteItem::BiteItem() : McmdItem(){}
129 BiteItem::~BiteItem();
130
131 void fill(TArrayC* data);
132 const char* toXML(char* tab);
133 };
134
135
136 class McmdScan {
137 private:
138 //In compiled version will use the std::map
139 McmdItem *mcmdItem;
140
141 public:
142 McmdScan::McmdScan() {}
143 const char* McmdScan::extract(TArrayC *data, int id, char* tabs);
144 };

  ViewVC Help
Powered by ViewVC 1.1.23