![]() |
GeneralBrokenLines V03-01-04
using EIGEN
|
Millepede-II (binary) record. More...
#include <MilleBinary.h>
Public Member Functions | |
| MilleBinary (const std::string &fileName="milleBinaryISN.dat", bool doublePrec=false, bool keepZeros=false, unsigned int aSize=2000) | |
| Create binary file. More... | |
| virtual | ~MilleBinary () |
| void | addData (double aMeas, double aErr, unsigned int numLocal, unsigned int *indLocal, double *derLocal, const std::vector< int > &labGlobal, const std::vector< double > &derGlobal) |
| Add data block to (end of) record. More... | |
| void | writeRecord () |
| Write record to file. More... | |
Private Attributes | |
| std::ofstream | binaryFile |
| Binary File. More... | |
| std::vector< int > | intBuffer |
| Integer buffer. More... | |
| std::vector< float > | floatBuffer |
| Float buffer. More... | |
| std::vector< double > | doubleBuffer |
| Double buffer. More... | |
| bool | doublePrecision |
| Flag for storage in as double values. More... | |
| bool | globalDerKeepZeros |
| Flag for keeping global derivatives with value zero. More... | |
Millepede-II (binary) record.
Containing information for local (track) and global fit.
The data blocks are collected in two arrays, a real array (containing float or double values) and integer array, of same length. A positive record length indicate float and a negative one double values. The content of the record is:
* real array integer array * 0 0.0 error count (this record) * 1 RMEAS, measured value 0 -+ * 2 local derivative index of local derivative | * 3 local derivative index of local derivative | * 4 ... | block * SIGMA, error (>0) 0 | * global derivative label of global derivative | * global derivative label of global derivative | * ... -+ * RMEAS, measured value 0 * local derivative index of local derivative * local derivative index of local derivative * ... * SIGMA, error 0 * global derivative label of global derivative * global derivative label of global derivative * ... * global derivative label of global derivative *
Special data block (other/debug information). Contains no local derivatives and (error) SIGMA is negative (-Number of SPecial data words).
* real array integer array * 0.0 0 -+ * -float(NSP) 0 | * special data special data | special block (2+NSP words) * special data special data | * ... -+ *
Definition at line 81 of file MilleBinary.h.
| gbl::MilleBinary::MilleBinary | ( | const std::string & | fileName = "milleBinaryISN.dat", |
| bool | doublePrec = false, |
||
| bool | keepZeros = false, |
||
| unsigned int | aSize = 2000 |
||
| ) |
Create binary file.
| [in] | fileName | File name |
| [in] | doublePrec | Flag for storage as double values |
| [in] | keepZeros | Flag for keeping global derivatives with value zero |
| [in] | aSize | Buffer size |
Definition at line 42 of file MilleBinary.cpp.
References doubleBuffer, doublePrecision, floatBuffer, and intBuffer.
|
virtual |
Definition at line 59 of file MilleBinary.cpp.
References binaryFile.
| void gbl::MilleBinary::addData | ( | double | aMeas, |
| double | aErr, | ||
| unsigned int | numLocal, | ||
| unsigned int * | indLocal, | ||
| double * | derLocal, | ||
| const std::vector< int > & | labGlobal, | ||
| const std::vector< double > & | derGlobal | ||
| ) |
Add data block to (end of) record.
| [in] | aMeas | Value |
| [in] | aErr | Error |
| [in] | numLocal | Number of local labels/derivatives |
| [in] | indLocal | Array of labels of local parameters |
| [in] | derLocal | Array of derivatives for local parameters |
| [in] | labGlobal | List of labels of global parameters |
| [in] | derGlobal | List of derivatives for global parameters |
Definition at line 73 of file MilleBinary.cpp.
References doubleBuffer, doublePrecision, floatBuffer, globalDerKeepZeros, and intBuffer.
Referenced by gbl::GblTrajectory::milleOut().
| void gbl::MilleBinary::writeRecord | ( | ) |
Write record to file.
Definition at line 114 of file MilleBinary.cpp.
References binaryFile, doubleBuffer, doublePrecision, floatBuffer, and intBuffer.
Referenced by gbl::GblTrajectory::milleOut().
|
private |
Binary File.
Definition at line 94 of file MilleBinary.h.
Referenced by writeRecord(), and ~MilleBinary().
|
private |
Double buffer.
Definition at line 97 of file MilleBinary.h.
Referenced by addData(), MilleBinary(), and writeRecord().
|
private |
Flag for storage in as double values.
Definition at line 98 of file MilleBinary.h.
Referenced by addData(), MilleBinary(), and writeRecord().
|
private |
Float buffer.
Definition at line 96 of file MilleBinary.h.
Referenced by addData(), MilleBinary(), and writeRecord().
|
private |
Flag for keeping global derivatives with value zero.
Definition at line 99 of file MilleBinary.h.
Referenced by addData().
|
private |
Integer buffer.
Definition at line 95 of file MilleBinary.h.
Referenced by addData(), MilleBinary(), and writeRecord().