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

Contents of /yoda/techmodel/EventReader.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6.1 - (show annotations) (download)
Wed Apr 5 07:30:54 2006 UTC (18 years, 7 months ago) by kusanagi
Branch: MAIN
CVS Tags: YODA6_2/01, YODA6_2/00, YODA6_1/00, YODA6_3/04, YODA6_3/05, YODA6_3/00, YODA6_3/01, YODA6_3/02, YODA6_3/03
Changes since 6.0: +4 -2 lines
File MIME type: text/plain
Update:
Now all the packets recognized as "corrupted" because of CRC are copied into a nameFileCorrupted.dat file.
The structure of the copied packet will include either HEADER and the DATA block below.
In case of multi-parts packet containing multi-sub packets each with its CRC, in case of failute of one sub packet the whole packet is copied in the nameFileCorrupted.dat file.

1 /** @file
2 * $Author: kusanagi $
3 * $Date: 2006/02/07 17:11:09 $
4 * $Revision: 6.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
12 namespace pamela {
13 namespace techmodel {
14 /**
15 * Main event reader algorithm. It handles all other specific
16 * reader algorithms.
17 */
18 class EventReader: public TechmodelAlgorithm {
19 private:
20 /**
21 * A map with an algorithm to read the techmodel file with the packet
22 * type as key.
23 */
24 typedef std::map<const PacketType *, TechmodelAlgorithm *> AlgorithmMap;
25 /**
26 * The map that links every packet type to an algorithm that reads it.
27 */
28 AlgorithmMap TechmodelAlgorithmMap; //!
29 /**
30 * The event header.
31 */
32 EventHeader* Header; //!
33 /**
34 * The Run that is processed.
35 */
36 TechmodelPamelaRun *Run; //!
37 void UnpackPscuHeader(void) throw (WrongCRCHeaderException, LengthException, BackwardCounterException);
38 void UnpackPscuTrailer(void) throw (std::exception);
39
40 /**
41 maxPackets define the maximum number of packets
42 the user wants to get from the raw file.
43 By default is initialized to -1 (no limit)
44 */
45 static unsigned int maxPackets;
46
47 /**
48 prevPckCounter and prevPckOBT are used to check the
49 integrity of the raw file stream
50 */
51 static unsigned int prevPckCounter;
52 static unsigned int prevPckOBT;
53 std::stringstream oss;
54 ofstream corruptedPacketFile;
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 int archiveCorruptedPacket(long int, long int);
63 ClassDef(EventReader, 1)
64 };
65 }
66 }

  ViewVC Help
Powered by ViewVC 1.1.23