| 1 | 
 /** @file | 
 /** @file | 
| 2 | 
  * $Author: kusanagi $ | 
  * $Author: kusanagi $ | 
| 3 | 
  * $Date: 2004/12/09 08:48:41 $ | 
  * $Date: 2005/03/06 04:33:02 $ | 
| 4 | 
  * $Revision: 2.3 $ | 
  * $Revision: 4.0 $ | 
| 5 | 
  *  | 
  *  | 
| 6 | 
  * Header file for the algorithms used to read the techmodel data file. | 
  * Header file for the algorithms used to read the techmodel data file. | 
| 7 | 
  */ | 
  */ | 
| 13 | 
 #include "PscuEvent.h" | 
 #include "PscuEvent.h" | 
| 14 | 
  | 
  | 
| 15 | 
  | 
  | 
| 16 | 
 #include "PhysEndRunEvent.h" | 
 #include "endrun/PhysEndRunEvent.h" | 
| 17 | 
 #include "CalibCalPulse1Event.h" | 
 #include "CalibCalPulse1Event.h" | 
| 18 | 
 #include "CalibCalPulse2Event.h" | 
 #include "CalibCalPulse2Event.h" | 
| 19 | 
 #include "physics/TrackerReader.h" | 
 #include "physics/TrackerReader.h" | 
| 21 | 
 #include "physics/CalorimeterReader.h" | 
 #include "physics/CalorimeterReader.h" | 
| 22 | 
 #include "physics/NeutronDetectorReader.h" | 
 #include "physics/NeutronDetectorReader.h" | 
| 23 | 
 #include "physics/S4Reader.h" | 
 #include "physics/S4Reader.h" | 
| 24 | 
  | 
 #include "physics/TofReader.h" | 
| 25 | 
  | 
 #include "physics/TriggerReader.h" | 
| 26 | 
 #include "CalibTrkBothEvent.h" | 
 #include "CalibTrkBothEvent.h" | 
| 27 | 
 #include "CalibTrk1Event.h" | 
 #include "CalibTrk1Event.h" | 
| 28 | 
 #include "CalibTrk2Event.h" | 
 #include "CalibTrk2Event.h" | 
| 47 | 
 #include "varDump/VarDumpEvent.h" | 
 #include "varDump/VarDumpEvent.h" | 
| 48 | 
 #include "arrDump/ArrDumpEvent.h" | 
 #include "arrDump/ArrDumpEvent.h" | 
| 49 | 
 #include "tabDump/TabDumpEvent.h" | 
 #include "tabDump/TabDumpEvent.h" | 
| 50 | 
  | 
 #include "tsbt/TsbTEvent.h" | 
| 51 | 
  | 
 #include "tsbb/TsbBEvent.h" | 
| 52 | 
 #include "tmtc/TmtcEvent.h" | 
 #include "tmtc/TmtcEvent.h" | 
| 53 | 
 #include "mcmd/McmdEvent.h" | 
 #include "mcmd/McmdEvent.h" | 
| 54 | 
 #include "ForcedFECmdEvent.h" | 
 #include "ForcedFECmdEvent.h" | 
| 137 | 
       calorimeter::CalorimeterReader*   calorimeterReader; | 
       calorimeter::CalorimeterReader*   calorimeterReader; | 
| 138 | 
       neutron::NeutronDetectorReader*   neutronReader; | 
       neutron::NeutronDetectorReader*   neutronReader; | 
| 139 | 
       S4::S4Reader*                     s4Reader; | 
       S4::S4Reader*                     s4Reader; | 
| 140 | 
  | 
       tof::TofReader*                   tofReader; | 
| 141 | 
  | 
       trigger::TriggerReader*           triggerReader; | 
| 142 | 
     public: | 
     public: | 
| 143 | 
       PhysicsReader(void); | 
       PhysicsReader(void); | 
| 144 | 
       virtual void Init(PamelaRun *); | 
       virtual void Init(PamelaRun *); | 
| 238 | 
     public: | 
     public: | 
| 239 | 
       CalibS4Reader(void); | 
       CalibS4Reader(void); | 
| 240 | 
       virtual void Init(PamelaRun *); | 
       virtual void Init(PamelaRun *); | 
| 241 | 
       virtual void RunEvent(int, long int) throw (Exception); | 
       virtual void RunEvent(int, long int) throw (WrongCRCException); | 
| 242 | 
       virtual std::string GetVersionInfo(void) const; | 
       virtual std::string GetVersionInfo(void) const; | 
| 243 | 
     }; | 
     }; | 
| 244 | 
  | 
  | 
| 514 | 
 **********************************************/ | 
 **********************************************/ | 
| 515 | 
     class TmtcReader: public TechmodelAlgorithm { | 
     class TmtcReader: public TechmodelAlgorithm { | 
| 516 | 
     //Length in bytes of the subPacket (that is te TmtcRecord excluded subCRC) | 
     //Length in bytes of the subPacket (that is te TmtcRecord excluded subCRC) | 
| 517 | 
     static const int TMTC_SUB_LENGTH = 57; | 
     static const int TMTC_SUB_LENGTH = 44; | 
| 518 | 
     //Length in bytes of the subPacketCRC | 
     //Length in bytes of the subPacketCRC | 
| 519 | 
     static const int TMTC_SUBCRC_LENGTH = 1; | 
     static const int TMTC_SUBCRC_LENGTH = 1; | 
| 520 | 
     //Length in bytes of the PacketCRC | 
     //Length in bytes of the PacketCRC | 
| 522 | 
     private: | 
     private: | 
| 523 | 
       /** The TMTC event that is created in the reader. */ | 
       /** The TMTC event that is created in the reader. */ | 
| 524 | 
       TmtcEvent* Tmtc; | 
       TmtcEvent* Tmtc; | 
| 525 | 
       float convert_th(int); | 
       //float convert_th(int); | 
| 526 | 
     public: | 
     public: | 
| 527 | 
     TmtcReader(void); | 
     TmtcReader(void); | 
| 528 | 
     virtual void Init(PamelaRun *); | 
     virtual void Init(PamelaRun *); | 
| 764 | 
     }; | 
     }; | 
| 765 | 
  | 
  | 
| 766 | 
 /********************************************** | 
 /********************************************** | 
| 767 | 
  | 
 * Event reader algorithm for TsbT events. | 
| 768 | 
  | 
 **********************************************/ | 
| 769 | 
  | 
     class TsbTReader: public TechmodelAlgorithm { | 
| 770 | 
  | 
     private: | 
| 771 | 
  | 
       /** The TsbT event that is created in the reader. */ | 
| 772 | 
  | 
       TsbTEvent* TsbT; | 
| 773 | 
  | 
     public: | 
| 774 | 
  | 
       TsbTReader(void); | 
| 775 | 
  | 
       virtual void Init(PamelaRun *); | 
| 776 | 
  | 
       virtual void RunEvent(int, long int) throw (WrongCRCException); | 
| 777 | 
  | 
       virtual std::string GetVersionInfo(void) const; | 
| 778 | 
  | 
     }; | 
| 779 | 
  | 
  | 
| 780 | 
  | 
 /********************************************** | 
| 781 | 
  | 
 * Event reader algorithm for TsbB events. | 
| 782 | 
  | 
 **********************************************/ | 
| 783 | 
  | 
     class TsbBReader: public TechmodelAlgorithm { | 
| 784 | 
  | 
     private: | 
| 785 | 
  | 
       /** The TsbB event that is created in the reader. */ | 
| 786 | 
  | 
       TsbBEvent* TsbB; | 
| 787 | 
  | 
     public: | 
| 788 | 
  | 
       TsbBReader(void); | 
| 789 | 
  | 
       virtual void Init(PamelaRun *); | 
| 790 | 
  | 
       virtual void RunEvent(int, long int) throw (WrongCRCException); | 
| 791 | 
  | 
       virtual std::string GetVersionInfo(void) const; | 
| 792 | 
  | 
     }; | 
| 793 | 
  | 
  | 
| 794 | 
  | 
 /********************************************** | 
| 795 | 
 * Event reader algorithm for PSCU events. | 
 * Event reader algorithm for PSCU events. | 
| 796 | 
 **********************************************/ | 
 **********************************************/ | 
| 797 | 
     class PscuReader: public TechmodelAlgorithm { | 
     class PscuReader: public TechmodelAlgorithm { |