Millepede-II V04-17-03
|
Class to write C binary file. More...
#include <Mille.h>
Public Member Functions | |
Mille (const char *outFileName, bool asBinary=true, bool writeZero=false) | |
author : Gero Flucke, University Hamburg, 2006 date : October 2006 More... | |
~Mille () | |
Closes file. More... | |
void | mille (int NLC, const float *derLc, int NGL, const float *derGl, const int *label, float rMeas, float sigma) |
Add measurement to buffer. More... | |
void | special (int nSpecial, const float *floatings, const int *integers) |
Add special data to buffer. More... | |
void | kill () |
Reset buffers, i.e. kill derivatives accumulated for current set. More... | |
void | end () |
Write buffer (set of derivatives with same local parameters) to file. More... | |
Private Types | |
enum | { myBufferSize = 5000 } |
buffer size for ints and floats More... | |
enum | { myMaxLabel = (0xFFFFFFFF - (1 << 31)) } |
largest label allowed: 2^31 - 1 More... | |
Private Member Functions | |
void | newSet () |
Initialize for new set of locals, e.g. new track. More... | |
bool | checkBufferSize (int nLocal, int nGlobal) |
Enough space for next nLocal + nGlobal derivatives incl. measurement? More... | |
Private Attributes | |
std::ofstream | myOutFile |
C-binary for output. More... | |
bool | myAsBinary |
if false output as text More... | |
bool | myWriteZero |
if true also write out derivatives/labels ==0 More... | |
int | myBufferInt [myBufferSize] |
to collect labels etc. More... | |
float | myBufferFloat [myBufferSize] |
to collect derivatives etc. More... | |
int | myBufferPos |
position in buffer More... | |
bool | myHasSpecial |
if true, special(..) already called for this record More... | |
Class to write C binary file.
Class to write a C binary (cf.
below) file of a given name and to fill it with information used as input to pede. Use its member functions mille()
, special()
, kill()
and end()
as you would use the fortran MILLE and its entry points MILLSP
, KILLE
and ENDLE
.
For debugging purposes constructor flags enable switching to text output and/or to write also derivatives and labels which are ==0. But note that pede will not be able to read text output and has not been tested with derivatives/labels ==0.
author : Gero Flucke date : October 2006
(last update by
)
|
private |
|
private |
Mille::Mille | ( | const char * | outFileName, |
bool | asBinary = true , |
||
bool | writeZero = false |
||
) |
author : Gero Flucke, University Hamburg, 2006 date : October 2006
(last update by
) Opens outFileName (by default as binary file).
[in] | outFileName | file name |
[in] | asBinary | flag for binary |
[in] | writeZero | flag for keeping of zeros |
Definition at line 45 of file Mille.cc.
References myBufferFloat, myBufferInt, and myOutFile.
|
private |
Enough space for next nLocal + nGlobal derivatives incl. measurement?
[in] | nLocal | number of local derivatives |
[in] | nGlobal | number of global derivatives |
Definition at line 214 of file Mille.cc.
References myBufferInt, myBufferPos, and myBufferSize.
void Mille::end | ( | ) |
Write buffer (set of derivatives with same local parameters) to file.
Definition at line 169 of file Mille.cc.
References readMilleBinary::i, myAsBinary, myBufferFloat, myBufferInt, myBufferPos, and myOutFile.
void Mille::kill | ( | ) |
Reset buffers, i.e. kill derivatives accumulated for current set.
Definition at line 162 of file Mille.cc.
References myBufferPos.
void Mille::mille | ( | int | NLC, |
const float * | derLc, | ||
int | NGL, | ||
const float * | derGl, | ||
const int * | label, | ||
float | rMeas, | ||
float | sigma | ||
) |
Add measurement to buffer.
[in] | NLC | number of local derivatives |
[in] | derLc | local derivatives |
[in] | NGL | number of global derivatives |
[in] | derGl | global derivatives |
[in] | label | global labels |
[in] | rMeas | measurement (residuum) |
[in] | sigma | error |
Definition at line 78 of file Mille.cc.
References checkBufferSize(), readMilleBinary::i, myBufferFloat, myBufferInt, myBufferPos, myMaxLabel, myWriteZero, newSet(), and mptest1::sigma.
|
private |
Initialize for new set of locals, e.g. new track.
Definition at line 199 of file Mille.cc.
References myBufferFloat, myBufferInt, myBufferPos, and myHasSpecial.
void Mille::special | ( | int | nSpecial, |
const float * | floatings, | ||
const int * | integers | ||
) |
Add special data to buffer.
[in] | nSpecial | number of floats/ints |
[in] | floatings | floats |
[in] | integers | ints |
Definition at line 127 of file Mille.cc.
References checkBufferSize(), readMilleBinary::i, myBufferFloat, myBufferInt, myBufferPos, myHasSpecial, and newSet().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |