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

Contents of /yoda/techmodel/EventReader.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4.5 - (show annotations) (download)
Mon Aug 29 09:26:54 2005 UTC (19 years, 3 months ago) by kusanagi
Branch: MAIN
Changes since 4.4: +3 -3 lines
File MIME type: text/plain
Update: in case of a CRC exception the reader interrupt the reading starting one byte after
the beginning of the last identified header

1 /** @file
2 * $Author: kusanagi $
3 * $Date: 2005/05/28 10:44:11 $
4 * $Revision: 4.4 $
5 *
6 * Header file for the algorithms used to read the techmodel data file.
7 */
8
9 #include "TechmodelPamelaRun.h"
10 #include "TechmodelAlgorithm.h"
11 #include "Exception.h"
12
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 void UnpackPscuHeader(void) throw (WrongCRCHeaderException, LengthException, BackwardCounterException);
39 void UnpackPscuTrailer(void) throw (std::exception);
40
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 static unsigned int prevPckCounter;
53 static unsigned int prevPckOBT;
54 std::stringstream oss;
55 public:
56 //EventReader(void);
57 EventReader(int);
58 virtual void Init(PamelaRun *);
59 virtual void RunEvent(int);
60 virtual std::string GetVersionInfo(void) const;
61 virtual bool FindStart(void) throw (std::exception);
62 ClassDef(EventReader, 1)
63 };
64 }
65 }

  ViewVC Help
Powered by ViewVC 1.1.23