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

Annotation of /yoda/techmodel/EventReader.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6.1 - (hide 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 kusanagi 1.1 /** @file
2 kusanagi 6.0 * $Author: kusanagi $
3 kusanagi 6.1 * $Date: 2006/02/07 17:11:09 $
4     * $Revision: 6.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    
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 kusanagi 4.5 void UnpackPscuHeader(void) throw (WrongCRCHeaderException, LengthException, BackwardCounterException);
38 kusanagi 1.1 void UnpackPscuTrailer(void) throw (std::exception);
39 kusanagi 1.3
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 kusanagi 1.2 static unsigned int prevPckCounter;
52     static unsigned int prevPckOBT;
53 kusanagi 2.1 std::stringstream oss;
54 kusanagi 6.1 ofstream corruptedPacketFile;
55 kusanagi 2.1 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 kusanagi 2.2 virtual bool FindStart(void) throw (std::exception);
62 kusanagi 6.1 int archiveCorruptedPacket(long int, long int);
63 kusanagi 1.1 ClassDef(EventReader, 1)
64     };
65     }
66     }

  ViewVC Help
Powered by ViewVC 1.1.23