Millepede-II  V04-00-00
 All Classes Files Functions Variables Enumerator
Mille.h
Go to the documentation of this file.
00001 #ifndef MILLE_H
00002 #define MILLE_H
00003 
00004 #include <fstream>
00005 
00027 
00028 class Mille 
00029 {
00030  public:
00031   Mille(const char *outFileName, bool asBinary = true, bool writeZero = false);
00032   ~Mille();
00033 
00034   void mille(int NLC, const float *derLc, int NGL, const float *derGl,
00035              const int *label, float rMeas, float sigma);
00036   void special(int nSpecial, const float *floatings, const int *integers);
00037   void kill();
00038   void end();
00039 
00040  private:
00041   void newSet();
00042   bool checkBufferSize(int nLocal, int nGlobal);
00043 
00044   std::ofstream myOutFile; 
00045   bool myAsBinary;         
00046   bool myWriteZero;        
00047 
00048   enum {myBufferSize = 5000};  
00049   int   myBufferInt[myBufferSize];   
00050   float myBufferFloat[myBufferSize]; 
00051   int   myBufferPos; 
00052   bool  myHasSpecial; 
00053 
00054   enum {myMaxLabel = (0xFFFFFFFF - (1 << 31))};
00055 };
00056 #endif