#include <G4OrderedTable.hh>
Definition at line 43 of file G4OrderedTable.hh.
◆ G4OrderedTable() [1/2]
G4OrderedTable::G4OrderedTable |
( |
| ) |
|
|
default |
◆ G4OrderedTable() [2/2]
G4OrderedTable::G4OrderedTable |
( |
std::size_t |
cap | ) |
|
|
explicit |
◆ ~G4OrderedTable()
virtual G4OrderedTable::~G4OrderedTable |
( |
| ) |
|
|
virtualdefault |
◆ clearAndDestroy()
void G4OrderedTable::clearAndDestroy |
( |
| ) |
|
◆ Retrieve()
Definition at line 119 of file G4OrderedTable.cc.
120{
121 std::ifstream fIn;
122
123 if(!ascii)
124 {
125 fIn.open(fileName, std::ios::in | std::ios::binary);
126 }
127 else
128 {
129 fIn.open(fileName, std::ios::in);
130 }
131
132
133 if(!fIn)
134 {
135#ifdef G4VERBOSE
136 G4cerr <<
"G4OrderedTable::Retrieve():";
138#endif
139 fIn.close();
140 return false;
141 }
142
143
145
146
148 if(!ascii)
149 {
150 fIn.read((char*) (&tableSize), sizeof tableSize);
151 }
152 else
153 {
154 fIn >> tableSize;
155 }
156 if(tableSize <= 0)
157 {
158#ifdef G4VERBOSE
159 G4cerr <<
"G4OrderedTable::Retrieve():";
160 G4cerr <<
" Invalid table size: " << tableSize <<
G4endl;
161#endif
162 return false;
163 }
164 reserve(tableSize);
165
166
167 for(
G4int idx = 0; idx < tableSize; ++idx)
168 {
170 if(!ascii)
171 {
172 fIn.read((char*) (&vType), sizeof vType);
173 }
174 else
175 {
176 fIn >> vType;
177 }
179 {
180#ifdef G4VERBOSE
181 G4cerr <<
"G4OrderedTable::Retrieve():";
182 G4cerr <<
" Illegal Data Vector type: " << vType <<
" in ";
184#endif
185 fIn.close();
186 return false;
187 }
188
190
191 if(!(pVec->Retrieve(fIn, ascii)))
192 {
193#ifdef G4VERBOSE
194 G4cerr <<
"G4OrderedTable::Retrieve(): ";
195 G4cerr <<
" Error in retreiving " << idx
196 << "-th Physics Vector from file: ";
198#endif
199 fIn.close();
200 delete pVec;
201 return false;
202 }
203
204
205 push_back(pVec);
206 }
207 fIn.close();
208 return true;
209}
G4GLOB_DLL std::ostream G4cerr
◆ Store()
Definition at line 66 of file G4OrderedTable.cc.
67{
68 std::ofstream fOut;
69
70
71 if(!ascii)
72 {
73 fOut.open(fileName, std::ios::out | std::ios::binary);
74 }
75 else
76 {
77 fOut.open(fileName, std::ios::out);
78 }
79
80
81 if(!fOut)
82 {
83#ifdef G4VERBOSE
84 G4cerr <<
"G4OrderedTable::::Store():";
86#endif
87 fOut.close();
88 return false;
89 }
90
92 if(!ascii)
93 {
94 fOut.write((char*) (&tableSize), sizeof tableSize);
95 }
96 else
97 {
98 fOut << tableSize <<
G4endl;
99 }
100
102 for(const auto itr : *this)
103 {
104 if(!ascii)
105 {
106 fOut.write((char*) (&vType), sizeof vType);
107 }
108 else
109 {
111 }
112 itr->Store(fOut, ascii);
113 }
114 fOut.close();
115 return true;
116}
◆ operator<<
std::ostream & operator<< |
( |
std::ostream & |
out, |
|
|
G4OrderedTable & |
table |
|
) |
| |
|
friend |
Definition at line 212 of file G4OrderedTable.cc.
213{
214
215 std::size_t i = 0;
216 for(const auto itr : right)
217 {
218 out << std::setw(8) << i << "-th Vector ";
220 out << *itr;
221 i += 1;
222 }
224 return out;
225}
The documentation for this class was generated from the following files: