SND@LHC Software
Loading...
Searching...
No Matches
Mille.h
Go to the documentation of this file.
1#ifndef MILLE_H
2#define MILLE_H
3
26#include <fstream>
27
50class Mille
51{
52 public:
53 Mille(const char *outFileName, bool asBinary = true, bool writeZero = false);
54 ~Mille();
55
56 void mille(int NLC, const float *derLc, int NGL, const float *derGl,
57 const int *label, float rMeas, float sigma);
58 void special(int nSpecial, const float *floatings, const int *integers);
59 void kill();
60 void end();
61
62 private:
63 void newSet();
64 bool checkBufferSize(int nLocal, int nGlobal);
65
66 std::ofstream myOutFile;
70 enum {myBufferSize = 5000};
76 enum {myMaxLabel = (0xFFFFFFFF - (1 << 31))};
77};
78#endif
Class to write C binary file.
Definition Mille.h:51
void end()
Write buffer (set of derivatives with same local parameters) to file.
Definition Mille.cc:169
int myBufferInt[myBufferSize]
to collect labels etc.
Definition Mille.h:71
bool myAsBinary
if false output as text
Definition Mille.h:67
bool checkBufferSize(int nLocal, int nGlobal)
Enough space for next nLocal + nGlobal derivatives incl. measurement?
Definition Mille.cc:214
void special(int nSpecial, const float *floatings, const int *integers)
Add special data to buffer.
Definition Mille.cc:127
@ myBufferSize
Definition Mille.h:70
~Mille()
Closes file.
Definition Mille.cc:62
std::ofstream myOutFile
C-binary for output.
Definition Mille.h:66
bool myHasSpecial
Definition Mille.h:74
void kill()
Reset buffers, i.e. kill derivatives accumulated for current set.
Definition Mille.cc:162
float myBufferFloat[myBufferSize]
to collect derivatives etc.
Definition Mille.h:72
@ myMaxLabel
Definition Mille.h:76
int myBufferPos
position in buffer
Definition Mille.h:73
void mille(int NLC, const float *derLc, int NGL, const float *derGl, const int *label, float rMeas, float sigma)
Add measurement to buffer.
Definition Mille.cc:78
bool myWriteZero
Definition Mille.h:68
void newSet()
Initialize for new set of locals, e.g. new track.
Definition Mille.cc:199