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

Annotation of /yoda/techmodel/EventReader.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6.2 - (hide annotations) (download)
Wed Aug 16 13:15:23 2006 UTC (18 years, 3 months ago) by kusanagi
Branch: MAIN
CVS Tags: YODA6_3/06
Changes since 6.1: +4 -3 lines
File MIME type: text/plain
*** empty log message ***

1 kusanagi 1.1 /** @file
2 kusanagi 6.0 * $Author: kusanagi $
3 kusanagi 6.2 * $Date: 2006/04/05 07:30:54 $
4     * $Revision: 6.1 $
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 6.2 void UnpackPscuHeader(unsigned char*) throw (WrongCRCHeaderException, LengthException, BackwardCounterException);
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 kusanagi 6.1 ofstream corruptedPacketFile;
56 kusanagi 2.1 public:
57 kusanagi 1.3 //EventReader(void);
58     EventReader(int);
59 kusanagi 1.1 virtual void Init(PamelaRun *);
60     virtual void RunEvent(int);
61     virtual std::string GetVersionInfo(void) const;
62 kusanagi 6.2 virtual bool FindStart(unsigned char*, long) throw (std::exception);
63 kusanagi 6.1 int archiveCorruptedPacket(long int, long int);
64 kusanagi 1.1 ClassDef(EventReader, 1)
65     };
66     }
67     }

  ViewVC Help
Powered by ViewVC 1.1.23