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

Annotation of /yoda/techmodel/EventReader.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2.1 - (hide annotations) (download)
Fri Dec 3 22:08:00 2004 UTC (19 years, 11 months ago) by kusanagi
Branch: MAIN
Changes since 2.0: +6 -4 lines
File MIME type: text/plain
Finally added a real group of Exception classes
Re-strucuted all the log systems (for better performances on unpacking)
Minor changes following the packets changes

1 kusanagi 1.1 /** @file
2 kusanagi 1.2 * $Author: kusanagi $
3 kusanagi 2.1 * $Date: 2004/09/21 20:50:54 $
4     * $Revision: 2.0 $
5 kusanagi 1.1 *
6     * Header file for the algorithms used to read the techmodel data file.
7     */
8    
9     #include "TechmodelPamelaRun.h"
10     #include "TechmodelAlgorithm.h"
11 kusanagi 2.1 #include "Exception.h"
12 kusanagi 1.1
13     namespace pamela {
14     namespace techmodel {
15     /**
16     * Main event reader algorithm. It handles all other specific
17     * reader algorithms.
18     */
19     class EventReader: public TechmodelAlgorithm {
20     private:
21     /**
22     * A map with an algorithm to read the techmodel file with the packet
23     * type as key.
24     */
25     typedef std::map<const PacketType *, TechmodelAlgorithm *> AlgorithmMap;
26     /**
27     * The map that links every packet type to an algorithm that reads it.
28     */
29     AlgorithmMap TechmodelAlgorithmMap; //!
30     /**
31     * The event header.
32     */
33     EventHeader* Header; //!
34     /**
35     * The Run that is processed.
36     */
37     TechmodelPamelaRun *Run; //!
38 kusanagi 2.1 void UnpackPscuHeader(void) throw (WrongCRCException, LengthException);
39 kusanagi 1.1 void UnpackPscuTrailer(void) throw (std::exception);
40 kusanagi 1.3
41     /**
42     maxPackets define the maximum number of packets
43     the user wants to get from the raw file.
44     By default is initialized to -1 (no limit)
45     */
46     static unsigned int maxPackets;
47    
48     /**
49     prevPckCounter and prevPckOBT are used to check the
50     integrity of the raw file stream
51     */
52 kusanagi 1.2 static unsigned int prevPckCounter;
53     static unsigned int prevPckOBT;
54 kusanagi 2.1 std::stringstream oss;
55     public:
56 kusanagi 1.3 //EventReader(void);
57     EventReader(int);
58 kusanagi 1.1 virtual void Init(PamelaRun *);
59     virtual void RunEvent(int);
60     virtual std::string GetVersionInfo(void) const;
61     virtual int FindStart(void) throw (std::exception);
62     ClassDef(EventReader, 1)
63     };
64     }
65     }

  ViewVC Help
Powered by ViewVC 1.1.23