/[PAMELA software]/quicklook/QLflightTmtc_Header/PacketScan.cpp
ViewVC logotype

Diff of /quicklook/QLflightTmtc_Header/PacketScan.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by pam-rm2, Wed Aug 9 09:01:23 2006 UTC revision 1.4 by pam-rm2, Thu Mar 8 09:53:45 2007 UTC
# Line 1  Line 1 
   
1  /**  /**
2  * Packet Scan  * Packet Scan
3  * author  Marcelli  * author  Marcelli
# Line 30  Line 29 
29  * For compilation:  * For compilation:
30  *     Added function "int main(int argc, char* argv[])"  *     Added function "int main(int argc, char* argv[])"
31  *  *
32    * Version 1.7
33    * Date 7 March 2007 - Malvezzi
34    *
35    * Description: to read correctly the OBT changed the type of time variables from signed to unsigned
36    *
37  *  *
38  * Description: To show packet type recorded by PAMELA (Packet type vs. OBT)  * Description: To show packet type recorded by PAMELA (Packet type vs. OBT)
39  *  *
# Line 42  Line 46 
46  */  */
47    
48    
49    #include <stdio.h>
50    #include <string.h>
51  #include <fstream>  #include <fstream>
52  #include <sstream>  #include <sstream>
53  #include <iostream>  #include <iostream>
# Line 60  Line 65 
65    
66  using namespace std;  using namespace std;
67    
68  void PacketScan(TString base, TString outDir, TString format)  void PacketScan(TString base, TString outDir, TString format){
 {  
69    
70    TFile *file = new TFile(base.Data());    TFile *file = new TFile(base.Data());
71        
# Line 78  void PacketScan(TString base, TString ou Line 82  void PacketScan(TString base, TString ou
82    pamela::EventHeader *eh = 0;    pamela::EventHeader *eh = 0;
83    pamela::PscuHeader *ph = 0;    pamela::PscuHeader *ph = 0;
84        
85    Float_t obt[1]={0};    ULong_t utile=0;
86    Float_t id[1]={0};    Double_t obt[1]={0};
87      Double_t id[1]={0};
88    Int_t cont[48]={0};    Int_t cont[48]={0};
89    std::stringstream oss, oss1, oss2, oss3;    std::stringstream oss, oss1, oss2, oss3;
90    
# Line 110  void PacketScan(TString base, TString ou Line 115  void PacketScan(TString base, TString ou
115    TMultiGraph *mg3 = new TMultiGraph();    TMultiGraph *mg3 = new TMultiGraph();
116    mg3->SetTitle(oss.str().c_str());    mg3->SetTitle(oss.str().c_str());
117    TLegend *leg3 = new TLegend(0.87,0.65,0.99,0.99, "");    TLegend *leg3 = new TLegend(0.87,0.65,0.99,0.99, "");
     
118    
119      TObject *key = new TObject;
120      const char *name;
121      char *SoftInfo="SoftInfo";
122    for (Int_t i=0; i<numkey; i++){    for (Int_t i=0; i<numkey; i++){
123      TObject *key = list->At(i);      key = list->At(i);
124      char *name=(char *)(key->GetName());      name=(char *)(key->GetName());
125        if(strcmp(name,SoftInfo)==0)continue;
126      TTree* tr = (TTree*)file->Get(name);      TTree* tr = (TTree*)file->Get(name);
127      while((tr->IsZombie())){      if (tr->IsZombie()) continue;
       i++;  
       TObject *key = list->At(i);  
       char *name=(char *)(key->GetName());  
       TTree* tr = (TTree*)file->Get(name);  
     }  
128      Long64_t nevents = tr->GetEntries();      Long64_t nevents = tr->GetEntries();
129      const Int_t size = nevents;      const Int_t size = nevents;
130      tr->SetBranchAddress("Header", &eh);        tr->SetBranchAddress("Header", &eh);  
131      for (Int_t j = 0; j < size; j++){      for (Int_t j = 0; j < size; j++){
132        tr->GetEntry(j);        tr->GetEntry(j);
133        ph = eh->GetPscuHeader();        ph = eh->GetPscuHeader();
134        obt[0]= ph->GetOrbitalTime();        utile=ph->GetOrbitalTime();
135          obt[0]= utile;
136        id[0]=(ph->GetPacketId1());        id[0]=(ph->GetPacketId1());
137        Int_t type = (int)id[0];        Int_t type = (int)id[0];
138        switch(type){        switch(type){
# Line 265  void PacketScan(TString base, TString ou Line 269  void PacketScan(TString base, TString ou
269          break;          break;
270        }        }
271        case 25:{        case 25:{
272          TGraph *graph = new TGraph(1, obt, id);          TGraph *graph = new TGraph(1,obt,id);
273          graph->SetMarkerColor(33);          graph->SetMarkerColor(33);
274          graph->SetMarkerStyle(23);          graph->SetMarkerStyle(23);
275          graph->SetMarkerSize(1.2);          graph->SetMarkerSize(1.2);

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.23