1 |
querten |
1.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 |
querten |
1.5 |
#define _CRT_SECURE_NO_DEPRECATE 1
|
12 |
querten |
1.1 |
|
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 |
querten |
1.2 |
#define C_RECO_TRACK 12110 // Contains Chunks related to RecoTracks
|
44 |
querten |
1.5 |
#define C_RECO_TRACKHIT 12111 // Contains RecHits
|
45 |
|
|
|
46 |
|
|
#define C_RECO_ECALHIT 12210 // Contains Chunks related to Ecal Clusters/Hits
|
47 |
|
|
#define C_RECO_HCALHIT 12310 // Contains Chunks related to Hcal Clusters/Hits
|
48 |
querten |
1.1 |
|
49 |
|
|
#define C_GEOMETRY 20000 // Contains Chunks related to the Geometry
|
50 |
|
|
// [20000,29999] is reserved for geometry
|
51 |
|
|
|
52 |
querten |
1.2 |
#define C_TRACKER 21000 // Contains Chunks related to the Tracker Geometry
|
53 |
|
|
// [21000,21999] is reserved for the Tracker Geometry
|
54 |
|
|
|
55 |
|
|
#define C_TRACKER_PIB 21100 // Contains data of a PIB Module
|
56 |
|
|
#define C_TRACKER_PIE 21200 // Contains data of a PIE Module
|
57 |
|
|
#define C_TRACKER_TIB 21300 // Contains data of a TIB Module
|
58 |
|
|
#define C_TRACKER_TID 21400 // Contains data of a TID Module
|
59 |
|
|
#define C_TRACKER_TOB 21500 // Contains data of a TOB Module
|
60 |
|
|
#define C_TRACKER_TEC 21600 // Contains data of a TEC Module
|
61 |
|
|
|
62 |
querten |
1.3 |
#define C_ECAL 22000 // Contains Chunks related to the ECAL Geometry
|
63 |
querten |
1.4 |
// [22000,22999] is reserved for the ECAL Geometry
|
64 |
querten |
1.3 |
|
65 |
|
|
#define C_ECAL_EB 22100 // Contains data of a EB Module
|
66 |
|
|
#define C_ECAL_EE 22200 // Contains data of a EE Module
|
67 |
querten |
1.4 |
#define C_ECAL_PS 22300 // Contains data of a PS Module
|
68 |
|
|
|
69 |
|
|
#define C_HCAL 23000 // Contains Chunks related to the HCAL Geometry
|
70 |
|
|
// [23000,23999] is reserved for the HCAL Geometry
|
71 |
|
|
|
72 |
|
|
#define C_HCAL_HB 23100 // Contains data of a HB Module
|
73 |
|
|
#define C_HCAL_HE 23200 // Contains data of a HE Module
|
74 |
|
|
#define C_HCAL_HO 23300 // Contains data of a HO Module
|
75 |
|
|
#define C_HCAL_HF 23400 // Contains data of a HF Module
|
76 |
querten |
1.3 |
|
77 |
querten |
1.1 |
|
78 |
|
|
|
79 |
|
|
void ReadChunk (FILE* pFile, stChunk* pChunk);
|
80 |
|
|
void WriteChunk(FILE* pFile, stChunkToSave* pChunk);
|
81 |
|
|
|
82 |
|
|
|
83 |
|
|
#endif
|