![]() |
Millepede-II V04-17-06
|
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 |