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

Contents of /yoda/techmodel/EventReader.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2.1 - (show annotations) (download)
Fri Dec 3 22:08:00 2004 UTC (20 years 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 /** @file
2 * $Author: kusanagi $
3 * $Date: 2004/09/21 20:50:54 $
4 * $Revision: 2.0 $
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 (WrongCRCException, LengthException);
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 int FindStart(void) throw (std::exception);
62 ClassDef(EventReader, 1)
63 };
64 }
65 }

  ViewVC Help
Powered by ViewVC 1.1.23