1 |
// Chunk.h: Contains everything related to chunk.
|
2 |
// Structure declaration
|
3 |
// List of Chunk ID
|
4 |
// ...
|
5 |
//
|
6 |
//////////////////////////////////////////////////////////////////////
|
7 |
|
8 |
#ifndef _CHUNK_H__
|
9 |
#define _CHUNK_H__
|
10 |
|
11 |
#define _CRT_SECURE_NO_DEPRECATE
|
12 |
|
13 |
#include <stdio.h>
|
14 |
#include <vector>
|
15 |
|
16 |
struct stChunk{ unsigned short type;
|
17 |
unsigned int size;
|
18 |
unsigned int read; };
|
19 |
|
20 |
struct stChunkToSave{ unsigned short type;
|
21 |
unsigned int size;
|
22 |
void* data;
|
23 |
void* buffer;
|
24 |
std::vector<stChunkToSave*> daughters; };
|
25 |
|
26 |
|
27 |
#define C_PRIMARY 55555 // Primary ChunkId
|
28 |
// Other Chunks are daughters of
|
29 |
// this PrimaryChunk
|
30 |
|
31 |
#define C_EVENT 10000 // Contains Chunks related to the Event
|
32 |
// [10000,19999] is reserved for Event data
|
33 |
|
34 |
#define C_SIM 11000 // Contains Chunks related to Simulation
|
35 |
// [11000,11999] is reserved for Simulation data
|
36 |
#define C_SIM_TRACKHIT 11010 // Contains PSimHits
|
37 |
#define C_SIM_CALOHIT 11020 // Contains PCaloHits
|
38 |
#define C_SIM_VERTEX 11030 // Contains SimVertex
|
39 |
#define C_SIM_TRACK 11040 // Contains SimTracks
|
40 |
|
41 |
#define C_RECO 12000 // Contains Chunks related to Reconstruction
|
42 |
// [12000,12999] is reserved for Reconstruction data
|
43 |
#define C_RECO_TRACK 12110 // Contains Chunks related to RecoTracks
|
44 |
#define C_RECO_TRACKHITS 12111 // Contains RecHits
|
45 |
|
46 |
#define C_GEOMETRY 20000 // Contains Chunks related to the Geometry
|
47 |
// [20000,29999] is reserved for geometry
|
48 |
|
49 |
#define C_TRACKER 21000 // Contains Chunks related to the Tracker Geometry
|
50 |
// [21000,21999] is reserved for the Tracker Geometry
|
51 |
|
52 |
#define C_TRACKER_PIB 21100 // Contains data of a PIB Module
|
53 |
#define C_TRACKER_PIE 21200 // Contains data of a PIE Module
|
54 |
#define C_TRACKER_TIB 21300 // Contains data of a TIB Module
|
55 |
#define C_TRACKER_TID 21400 // Contains data of a TID Module
|
56 |
#define C_TRACKER_TOB 21500 // Contains data of a TOB Module
|
57 |
#define C_TRACKER_TEC 21600 // Contains data of a TEC Module
|
58 |
|
59 |
#define C_ECAL 22000 // Contains Chunks related to the ECAL Geometry
|
60 |
// [21000,21999] is reserved for the ECAL Geometry
|
61 |
|
62 |
#define C_ECAL_EB 22100 // Contains data of a EB Module
|
63 |
#define C_ECAL_EE 22200 // Contains data of a EE Module
|
64 |
|
65 |
|
66 |
|
67 |
void ReadChunk (FILE* pFile, stChunk* pChunk);
|
68 |
void WriteChunk(FILE* pFile, stChunkToSave* pChunk);
|
69 |
|
70 |
|
71 |
#endif
|