Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4RTJpeg.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27//
28//
29
30// class description:
31//
32// This header file defines some static constant variables and error classes
33// used internally by G4JpegMaker and related classes
34//
35
36#ifndef G4RTJpeg_H
37#define G4RTJpeg_H 1
38
39typedef unsigned char u_char;
40typedef unsigned int u_int;
41
42const char JFIF[] = "JFIF";
43const char JFXX[] = "JFXX";
44
45const double Sqrt2 = 1.41421356;
46const double DisSqrt2 = 1.0 / Sqrt2;
47const double PaiDiv16 = 3.14159265 / 16;
48
49//Zigzag
50static const int Zigzag[64] = {
51 0, 1, 8, 16, 9, 2, 3, 10,
52 17, 24, 32, 25, 18, 11, 4, 5,
53 12, 19, 26, 33, 40, 48, 41, 34,
54 27, 20, 13, 6, 7, 14, 21, 28,
55 35, 42, 49, 56, 57, 50, 43, 36,
56 29, 22, 15, 23, 30, 37, 44, 51,
57 58, 59, 52, 45, 38, 31, 39, 46,
58 53, 60, 61, 54, 47, 55, 62, 63
59};
60
61//ProcessResult
68
69// JpegMarkerCode
70enum
72
73 M_SOF0 = 0xc0,
74 M_SOF1 = 0xc1,
75 M_SOF2 = 0xc2,
76 M_SOF3 = 0xc3,
77
78 M_SOF5 = 0xc5,
79 M_SOF6 = 0xc6,
80 M_SOF7 = 0xc7,
81
82 M_JPG = 0xc8,
83 M_SOF9 = 0xc9,
84 M_SOF10 = 0xca,
85 M_SOF11 = 0xcb,
86
87 M_SOF13 = 0xcd,
88 M_SOF14 = 0xce,
89 M_SOF15 = 0xcf,
90
91 M_DHT = 0xc4,
92
93 M_DAC = 0xcc,
94
95 M_RST0 = 0xd0, M_RST1 = 0xd1,
96 M_RST2 = 0xd2, M_RST3 = 0xd3,
97 M_RST4 = 0xd4, M_RST5 = 0xd5,
98 M_RST6 = 0xd6, M_RST7 = 0xd7,
99
100 M_SOI = 0xd8,
101 M_EOI = 0xd9,
102 M_SOS = 0xda,
103 M_DQT = 0xdb,
104 M_DNL = 0xdc,
105 M_DRI = 0xdd,
106 M_DHP = 0xde,
107 M_EXP = 0xdf,
108 M_COM = 0xfe,
109
110 M_APP0 = 0xe0, M_APP1 = 0xe1,
111 M_APP2 = 0xe2, M_APP3 = 0xe3,
112 M_APP4 = 0xe4, M_APP5 = 0xe5,
113 M_APP6 = 0xe6, M_APP7 = 0xe7,
114 M_APP8 = 0xe8, M_APP9 = 0xe9,
115 M_APP10 = 0xea, M_APP11 = 0xeb,
116 M_APP12 = 0xec, M_APP13 = 0xed,
117 M_APP14 = 0xee, M_APP15 = 0xef,
118
119
120 M_JPG0 = 0xf0, M_JPG1 = 0xf1,
121 M_JPG2 = 0xf2, M_JPG3 = 0xf3,
122 M_JPG4 = 0xf4, M_JPG5 = 0xf5,
123 M_JPG6 = 0xf6, M_JPG7 = 0xf7,
124 M_JPG8 = 0xf8, M_JPG9 = 0xf9,
125 M_JPG10 = 0xfa, M_JPG11 = 0xfb,
126 M_JPG12 = 0xfc, M_JPG13 = 0xfd,
127
128
129 M_TEM = 0x01,
130 M_RESst = 0x02,
131 M_RESend = 0xbf,
132
133 M_Error = 0xff,
134 M_Marker = 0xff
136
137//JpegProperty
138struct
141 :nRow(0)
142 ,nColumn(0)
143 ,Dimension(0)
144 ,SamplePrecision(0)
145 ,Comment(0)
146 ,Format(0)
147 ,MajorRevisions(0)
148 ,MinorRevisions(0)
149 ,Units(0)
150 ,HDensity(0)
151 ,VDensity(0)
152 ,HThumbnail(0)
153 ,VThumbnail(0)
154 ,ExtensionCode(0)
155 {}
156 int nRow;
160 const char * Comment;
164 int Units;
170};
171
172
173//MemoryError
175{
176 public:
177 G4MemoryError(int size, const char* message)
178 {mSize = size; mMessage = message;};
179 int mSize;
180 const char* mMessage;
181};
182
183//IndexError
185{
186 public:
187 G4IndexError(int maxIndex, int errorIndex, const char* mes)
188 {mMaxIndex = maxIndex; mErrorIndex = errorIndex; mMessage = mes;};
191 const char* mMessage;
192};
193
194//BufferError
196{
197 public:
198 G4BufferError(const char* mes)
199 {mMessage = mes;};
200 const char* mMessage;
201};
202
203//DataFormatError
205{
206 public:
207 G4DataFormatError(void* address, const char* message)
208 {mAddress = address; mMessage = message;};
209 void* mAddress;
210 const char* mMessage;
211};
212
213
214//NotSupported
216{
217 public:
218 G4NotSupported(jMarker aMark, void* address)
219 {mMark = aMark; mAddress = address;};
221 void* mAddress;
222};
223
224#endif
jMarker
Definition G4RTJpeg.hh:71
@ M_RST4
Definition G4RTJpeg.hh:97
@ M_COM
Definition G4RTJpeg.hh:108
@ M_RST5
Definition G4RTJpeg.hh:97
@ M_DNL
Definition G4RTJpeg.hh:104
@ M_SOF14
Definition G4RTJpeg.hh:88
@ M_APP3
Definition G4RTJpeg.hh:111
@ M_SOF7
Definition G4RTJpeg.hh:80
@ M_JPG4
Definition G4RTJpeg.hh:122
@ M_EOI
Definition G4RTJpeg.hh:101
@ M_APP11
Definition G4RTJpeg.hh:115
@ M_JPG10
Definition G4RTJpeg.hh:125
@ M_JPG8
Definition G4RTJpeg.hh:124
@ M_Error
Definition G4RTJpeg.hh:133
@ M_APP1
Definition G4RTJpeg.hh:110
@ M_Marker
Definition G4RTJpeg.hh:134
@ M_JPG3
Definition G4RTJpeg.hh:121
@ M_APP12
Definition G4RTJpeg.hh:116
@ M_APP2
Definition G4RTJpeg.hh:111
@ M_APP13
Definition G4RTJpeg.hh:116
@ M_RST3
Definition G4RTJpeg.hh:96
@ M_APP9
Definition G4RTJpeg.hh:114
@ M_JPG11
Definition G4RTJpeg.hh:125
@ M_DQT
Definition G4RTJpeg.hh:103
@ M_DHT
Definition G4RTJpeg.hh:91
@ M_SOF3
Definition G4RTJpeg.hh:76
@ M_SOF2
Definition G4RTJpeg.hh:75
@ M_APP14
Definition G4RTJpeg.hh:117
@ M_DAC
Definition G4RTJpeg.hh:93
@ M_SOF6
Definition G4RTJpeg.hh:79
@ M_APP6
Definition G4RTJpeg.hh:113
@ M_RST0
Definition G4RTJpeg.hh:95
@ M_APP8
Definition G4RTJpeg.hh:114
@ M_SOF15
Definition G4RTJpeg.hh:89
@ M_SOI
Definition G4RTJpeg.hh:100
@ M_JPG6
Definition G4RTJpeg.hh:123
@ M_RST7
Definition G4RTJpeg.hh:98
@ M_DRI
Definition G4RTJpeg.hh:105
@ M_SOF9
Definition G4RTJpeg.hh:83
@ M_JPG
Definition G4RTJpeg.hh:82
@ M_RESst
Definition G4RTJpeg.hh:130
@ M_JPG9
Definition G4RTJpeg.hh:124
@ M_APP10
Definition G4RTJpeg.hh:115
@ M_SOF10
Definition G4RTJpeg.hh:84
@ M_SOF11
Definition G4RTJpeg.hh:85
@ M_TEM
Definition G4RTJpeg.hh:129
@ M_EXP
Definition G4RTJpeg.hh:107
@ M_JPG12
Definition G4RTJpeg.hh:126
@ M_SOF13
Definition G4RTJpeg.hh:87
@ M_JPG7
Definition G4RTJpeg.hh:123
@ M_JPG0
Definition G4RTJpeg.hh:120
@ M_RST6
Definition G4RTJpeg.hh:98
@ M_APP4
Definition G4RTJpeg.hh:112
@ M_JPG2
Definition G4RTJpeg.hh:121
@ M_RESend
Definition G4RTJpeg.hh:131
@ M_JPG5
Definition G4RTJpeg.hh:122
@ M_APP5
Definition G4RTJpeg.hh:112
@ M_SOF1
Definition G4RTJpeg.hh:74
@ M_SOS
Definition G4RTJpeg.hh:102
@ M_APP7
Definition G4RTJpeg.hh:113
@ M_SOF0
Definition G4RTJpeg.hh:73
@ M_JPG1
Definition G4RTJpeg.hh:120
@ M_APP0
Definition G4RTJpeg.hh:110
@ M_APP15
Definition G4RTJpeg.hh:117
@ M_RST2
Definition G4RTJpeg.hh:96
@ M_SOF5
Definition G4RTJpeg.hh:78
@ M_RST1
Definition G4RTJpeg.hh:95
@ M_JPG13
Definition G4RTJpeg.hh:126
@ M_DHP
Definition G4RTJpeg.hh:106
const double DisSqrt2
Definition G4RTJpeg.hh:46
const double PaiDiv16
Definition G4RTJpeg.hh:47
const char JFIF[]
Definition G4RTJpeg.hh:42
jProcessResult
Definition G4RTJpeg.hh:63
@ M_RuntimeError
Definition G4RTJpeg.hh:65
@ M_DataError
Definition G4RTJpeg.hh:66
@ M_NoError
Definition G4RTJpeg.hh:64
unsigned int u_int
Definition G4RTJpeg.hh:40
const char JFXX[]
Definition G4RTJpeg.hh:43
unsigned char u_char
Definition G4RTJpeg.hh:39
const double Sqrt2
Definition G4RTJpeg.hh:45
G4BufferError(const char *mes)
Definition G4RTJpeg.hh:198
const char * mMessage
Definition G4RTJpeg.hh:200
const char * mMessage
Definition G4RTJpeg.hh:210
G4DataFormatError(void *address, const char *message)
Definition G4RTJpeg.hh:207
G4IndexError(int maxIndex, int errorIndex, const char *mes)
Definition G4RTJpeg.hh:187
const char * mMessage
Definition G4RTJpeg.hh:191
const char * mMessage
Definition G4RTJpeg.hh:180
G4MemoryError(int size, const char *message)
Definition G4RTJpeg.hh:177
jMarker mMark
Definition G4RTJpeg.hh:220
G4NotSupported(jMarker aMark, void *address)
Definition G4RTJpeg.hh:218
void * mAddress
Definition G4RTJpeg.hh:221
const char * Comment
Definition G4RTJpeg.hh:160
u_char MinorRevisions
Definition G4RTJpeg.hh:163
u_char MajorRevisions
Definition G4RTJpeg.hh:162