/[PAMELA software]/yoda/techmodel/TrkAlarmReader.cpp
ViewVC logotype

Diff of /yoda/techmodel/TrkAlarmReader.cpp

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

revision 1.1 by kusanagi, Tue Sep 21 20:24:33 2004 UTC revision 5.0 by kusanagi, Mon Aug 29 09:46:13 2005 UTC
# Line 49  void TrkAlarmReader::Init(PamelaRun *run Line 49  void TrkAlarmReader::Init(PamelaRun *run
49  /**  /**
50   * Unpack the TrkAlarm event from an input file.   * Unpack the TrkAlarm event from an input file.
51   */   */
52  void TrkAlarmReader::RunEvent(int EventNumber, long int length) {  void TrkAlarmReader::RunEvent(int EventNumber, long int length) throw (WrongCRCException){
53            
54        char        subData[length];
55        InputFile->read(subData, sizeof(subData));
56    
57        trkAlarm->TrigMask      = (subData[0]&0xc0) >> 6;
58        trkAlarm->DSPMask       = (subData[0]&0x3f);
59        
60    
61        trkAlarm->FlashShutdown = (subData[1]&0x80) >> 7;
62        trkAlarm->FlashOn       = (subData[1]&0x40) >> 6;
63        trkAlarm->DSPBusy       = (subData[1]&0x3f);
64        
65        trkAlarm->FlashUpset    = (subData[2]&0x80) >> 7;
66        trkAlarm->FlashData     = (subData[2]&0x40) >> 6;
67        trkAlarm->DSPSoft       = (subData[2]&0x3f);
68        
69        trkAlarm->InterCheck    = (subData[3]&0x80) >> 7;
70        trkAlarm->FinalCheck    = (subData[3]&0x40) >> 6;
71        trkAlarm->CmdIDMA       = (subData[3]&0x3f);
72        
73        trkAlarm->UnknownCmd    = (subData[4]&0x80) >> 7;
74        trkAlarm->CmdDuringTrig = (subData[4]&0x40) >> 6;
75        trkAlarm->TrigIDMA      = (subData[4]&0x3f);
76    
77        trkAlarm->PNum          = (subData[5]&0xf0) >> 4;
78        trkAlarm->CmdNum        = (subData[5]&0x0f);
79        
80        for(int i=0 ; i<4 ; i++){      
81            trkAlarm->BID[i]    = (subData[6]&(0x03<<i*2)) >> i*2;
82        };
83    
84        for(int i=1 ; i<4 ; i++){      
85            trkAlarm->BID[3+i]  = (subData[7]&(0x03<<i*2)) >> i*2;
86        };
87    
88        trkAlarm->ALARM[0]      = (subData[7]&0x02) >> 1;
89        trkAlarm->ALARM[1]      = (subData[7]&0x01);
90            
91        trkAlarm->Aswr          = (subData[8]&0xff) << 8;
92        trkAlarm->Aswr          = trkAlarm->Aswr | (subData[9]&0xff);
93  }  }
94    

Legend:
Removed from v.1.1  
changed lines
  Added in v.5.0

  ViewVC Help
Powered by ViewVC 1.1.23