/[PAMELA software]/yoda/techmodel/ReaderAlgorithms.h
ViewVC logotype

Diff of /yoda/techmodel/ReaderAlgorithms.h

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

revision 2.2 by kusanagi, Fri Dec 3 22:08:01 2004 UTC revision 2.6 by kusanagi, Fri Dec 17 14:00:53 2004 UTC
# Line 1  Line 1 
1  /** @file  /** @file
2   * $Author: kusanagi $   * $Author: kusanagi $
3   * $Date: 2004/09/24 11:57:49 $   * $Date: 2004/12/17 12:46:20 $
4   * $Revision: 2.1 $   * $Revision: 2.5 $
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   */   */
# Line 20  Line 20 
20  #include "physics/AnticounterReader.h"  #include "physics/AnticounterReader.h"
21  #include "physics/CalorimeterReader.h"  #include "physics/CalorimeterReader.h"
22  #include "physics/NeutronDetectorReader.h"  #include "physics/NeutronDetectorReader.h"
23    #include "physics/S4Reader.h"
24  #include "CalibTrkBothEvent.h"  #include "CalibTrkBothEvent.h"
25  #include "CalibTrk1Event.h"  #include "CalibTrk1Event.h"
26  #include "CalibTrk2Event.h"  #include "CalibTrk2Event.h"
# Line 27  Line 28 
28  #include "CalibTofEvent.h"  #include "CalibTofEvent.h"
29  #include "CalibS4Event.h"  #include "CalibS4Event.h"
30  #include "CalibCalPedEvent.h"  #include "CalibCalPedEvent.h"
31  #include "CalibAcEvent.h"  #include "Calib1_Ac1Event.h"
32    #include "Calib1_Ac2Event.h"
33    #include "Calib2_Ac1Event.h"
34    #include "Calib2_Ac2Event.h"
35  #include "RunHeaderEvent.h"  #include "RunHeaderEvent.h"
36  #include "RunTrailerEvent.h"  #include "RunTrailerEvent.h"
37  #include "CalibHeaderEvent.h"  #include "CalibHeaderEvent.h"
# Line 44  Line 48 
48  #include "tmtc/TmtcEvent.h"  #include "tmtc/TmtcEvent.h"
49  #include "mcmd/McmdEvent.h"  #include "mcmd/McmdEvent.h"
50  #include "ForcedFECmdEvent.h"  #include "ForcedFECmdEvent.h"
51  #include "AcInitEvent.h"  #include "Ac1InitEvent.h"
52  #include "CalInitEvent.h"  #include "CalInitEvent.h"
53  #include "TrkInitEvent.h"  #include "TrkInitEvent.h"
54  #include "TofInitEvent.h"  #include "TofInitEvent.h"
55  #include "TrgInitEvent.h"  #include "TrgInitEvent.h"
56  #include "NdInitEvent.h"  #include "NdInitEvent.h"
57    #include "S4InitEvent.h"
58    #include "Ac2InitEvent.h"
59  #include "CalAlarmEvent.h"  #include "CalAlarmEvent.h"
60  #include "AcAlarmEvent.h"  #include "AcAlarmEvent.h"
61  #include "TrkAlarmEvent.h"  #include "TrkAlarmEvent.h"
62  #include "TrgAlarmEvent.h"  #include "TrgAlarmEvent.h"
63  #include "TofAlarmEvent.h"  #include "TofAlarmEvent.h"
64    #include "S4AlarmEvent.h"
65    
66  using namespace std;  using namespace std;
67    
# Line 125  namespace pamela { Line 132  namespace pamela {
132        anticounter::AnticounterReader*   anticounterReader;        anticounter::AnticounterReader*   anticounterReader;
133        calorimeter::CalorimeterReader*   calorimeterReader;        calorimeter::CalorimeterReader*   calorimeterReader;
134        neutron::NeutronDetectorReader*   neutronReader;        neutron::NeutronDetectorReader*   neutronReader;
135          S4::S4Reader*                     s4Reader;
136      public:      public:
137        PhysicsReader(void);        PhysicsReader(void);
138        virtual void Init(PamelaRun *);        virtual void Init(PamelaRun *);
# Line 220  namespace pamela { Line 228  namespace pamela {
228      class CalibS4Reader: public TechmodelAlgorithm {      class CalibS4Reader: public TechmodelAlgorithm {
229      private:      private:
230        /** The CalibCal event that is created in the reader. */        /** The CalibCal event that is created in the reader. */
231        CalibS4Event* CalibS4;        CalibS4Event* calibS4;
232      public:      public:
233        CalibS4Reader(void);        CalibS4Reader(void);
234        virtual void Init(PamelaRun *);        virtual void Init(PamelaRun *);
# Line 245  namespace pamela { Line 253  namespace pamela {
253    
254    
255  /***********************************************  /***********************************************
256  * Event reader algorithm for CalibAc events.  * Event reader algorithm for Calib1_Ac1 events.
257  **********************************************/  **********************************************/
258      class CalibAcReader: public TechmodelAlgorithm {      class Calib1_Ac1Reader: public TechmodelAlgorithm {
259      private:      private:
260        /** The CalibAc event that is created in the reader. */        /** The CalibAc event that is created in the reader. */
261        CalibAcEvent* CalibAc;        Calib1_Ac1Event* calib1_Ac1;
262      public:      public:
263        CalibAcReader(void);        Calib1_Ac1Reader(void);
264          virtual void Init(PamelaRun *);
265          virtual void RunEvent(int, long int) throw (Exception);
266          virtual std::string GetVersionInfo(void) const;
267        };
268    
269    
270    /***********************************************
271    * Event reader algorithm for Calib1_Ac2 events.
272    **********************************************/
273        class Calib1_Ac2Reader: public TechmodelAlgorithm {
274        private:
275          /** The Calib1_Ac2 event that is created in the reader. */
276          Calib1_Ac2Event* calib1_Ac2;
277        public:
278          Calib1_Ac2Reader(void);
279          virtual void Init(PamelaRun *);
280          virtual void RunEvent(int, long int) throw (Exception);
281          virtual std::string GetVersionInfo(void) const;
282        };
283    
284    /***********************************************
285    * Event reader algorithm for Calib2_Ac1 events.
286    **********************************************/
287        class Calib2_Ac1Reader: public TechmodelAlgorithm {
288        private:
289          /** The Calib2_Ac1 event that is created in the reader. */
290          Calib2_Ac1Event* calib2_Ac1;
291        public:
292          Calib2_Ac1Reader(void);
293          virtual void Init(PamelaRun *);
294          virtual void RunEvent(int, long int) throw (Exception);
295          virtual std::string GetVersionInfo(void) const;
296        };
297    
298    /***********************************************
299    * Event reader algorithm for Calib2_Ac2 events.
300    **********************************************/
301        class Calib2_Ac2Reader: public TechmodelAlgorithm {
302        private:
303          /** The Calib2_Ac2 event that is created in the reader. */
304          Calib2_Ac2Event* calib2_Ac2;
305        public:
306          Calib2_Ac2Reader(void);
307        virtual void Init(PamelaRun *);        virtual void Init(PamelaRun *);
308        virtual void RunEvent(int, long int) throw (Exception);        virtual void RunEvent(int, long int) throw (Exception);
309        virtual std::string GetVersionInfo(void) const;        virtual std::string GetVersionInfo(void) const;
# Line 457  namespace pamela { Line 508  namespace pamela {
508  **********************************************/  **********************************************/
509      class TmtcReader: public TechmodelAlgorithm {      class TmtcReader: public TechmodelAlgorithm {
510      //Length in bytes of the subPacket (that is te TmtcRecord excluded subCRC)      //Length in bytes of the subPacket (that is te TmtcRecord excluded subCRC)
511      static const int TMTC_SUB_LENGTH = 57;      static const int TMTC_SUB_LENGTH = 36;
512      //Length in bytes of the subPacketCRC      //Length in bytes of the subPacketCRC
513      static const int TMTC_SUBCRC_LENGTH = 1;      static const int TMTC_SUBCRC_LENGTH = 1;
514      //Length in bytes of the PacketCRC      //Length in bytes of the PacketCRC
# Line 465  namespace pamela { Line 516  namespace pamela {
516      private:      private:
517        /** The TMTC event that is created in the reader. */        /** The TMTC event that is created in the reader. */
518        TmtcEvent* Tmtc;        TmtcEvent* Tmtc;
519        float convert_th(int);        //float convert_th(int);
520      public:      public:
521      TmtcReader(void);      TmtcReader(void);
522      virtual void Init(PamelaRun *);      virtual void Init(PamelaRun *);
# Line 505  namespace pamela { Line 556  namespace pamela {
556    
557    
558  /**********************************************  /**********************************************
559  * Event reader algorithm for AcInit events.  * Event reader algorithm for Ac1Init events.
560  **********************************************/  **********************************************/
561      class AcInitReader: public TechmodelAlgorithm {      class Ac1InitReader: public TechmodelAlgorithm {
562      private:      private:
563        /** The AcInit event that is created in the reader. */        /** The Ac1Init event that is created in the reader. */
564        AcInitEvent* acInit;        Ac1InitEvent* ac1Init;
565      public:      public:
566        AcInitReader(void);        Ac1InitReader(void);
567        virtual void Init(PamelaRun *);        virtual void Init(PamelaRun *);
568        virtual void RunEvent(int, long int) throw (WrongCRCException);        virtual void RunEvent(int, long int) throw (WrongCRCException);
569        virtual std::string GetVersionInfo(void) const;        virtual std::string GetVersionInfo(void) const;
# Line 592  namespace pamela { Line 643  namespace pamela {
643        virtual std::string GetVersionInfo(void) const;        virtual std::string GetVersionInfo(void) const;
644      };      };
645    
646    /**********************************************
647    * Event reader algorithm for S4Init events.
648    **********************************************/
649        class S4InitReader: public TechmodelAlgorithm {
650        private:
651          /** The S4Init event that is created in the reader. */
652          S4InitEvent* s4Init;
653        public:
654          S4InitReader(void);
655          virtual void Init(PamelaRun *);
656          virtual void RunEvent(int, long int) throw (WrongCRCException);
657          virtual std::string GetVersionInfo(void) const;
658        };
659    
660    
661    /**********************************************
662    * Event reader algorithm for Ac2Init events.
663    **********************************************/
664        class Ac2InitReader: public TechmodelAlgorithm {
665        private:
666          /** The Ac2Init event that is created in the reader. */
667          Ac2InitEvent* ac2Init;
668        public:
669          Ac2InitReader(void);
670          virtual void Init(PamelaRun *);
671          virtual void RunEvent(int, long int) throw (WrongCRCException);
672          virtual std::string GetVersionInfo(void) const;
673        };
674    
675    
676  /**********************************************  /**********************************************
677  * Event reader algorithm for CalAlarm events.  * Event reader algorithm for CalAlarm events.
# Line 664  namespace pamela { Line 744  namespace pamela {
744      };      };
745    
746  /**********************************************  /**********************************************
747    * Event reader algorithm for S4Alarm events.
748    **********************************************/
749        class S4AlarmReader: public TechmodelAlgorithm {
750        private:
751          /** The S4Alarm event that is created in the reader. */
752          S4AlarmEvent* s4Alarm;
753        public:
754          S4AlarmReader(void);
755          virtual void Init(PamelaRun *);
756          virtual void RunEvent(int, long int) throw (WrongCRCException);
757          virtual std::string GetVersionInfo(void) const;
758        };
759    
760    /**********************************************
761  * Event reader algorithm for PSCU events.  * Event reader algorithm for PSCU events.
762  **********************************************/  **********************************************/
763      class PscuReader: public TechmodelAlgorithm {      class PscuReader: public TechmodelAlgorithm {
# Line 684  namespace pamela { Line 778  namespace pamela {
778  #endif /* READER_ALGORITHM_H */  #endif /* READER_ALGORITHM_H */
779    
780    
781    
782    

Legend:
Removed from v.2.2  
changed lines
  Added in v.2.6

  ViewVC Help
Powered by ViewVC 1.1.23