ROOT logo
#ifndef HMDCBITFLIPCOR_H
#define HMDCBITFLIPCOR_H

#include "hreconstructor.h"
#include "TString.h"
#include "TCanvas.h"
#include "TH1.h"
#include "TH2.h"
#include "TF1.h"

class TFile;
class TLine;
class HMdcRaw;
class HMdcRawCor;
class HEvent;
class Hades;

class HRuntimeDb;
class HCategory;
class HEventHeader;
class HMdcRawEventHeader;
class HIterator;
class HMdcGeomPar;
class HSpecGeomPar;
class HMdcDetector;
class HMdcBitFlipCorPar;


class HMdcBitFlipCor : public HReconstructor  {
  protected:
  HRuntimeDb*          rtdb; 
  HCategory*           catmHMdcRaw;   //! HMdcSeg Category
  HMdcRaw*             mdcraw;         //! seg data level
  HIterator*           mdcrawiter;     //! seg iterator
  HCategory*           catmHMdcRawEventHeader;   //! HMdcSeg Category
  HMdcRawEventHeader*  rawREH;         //! seg data level
  HIterator*           iterREH;     //! seg iterator
 
  HCategory* rawcorCat;       //! pointer to the raw data
  HMdcRawCor* rawcor;            //! pointer to raw data word
  HLocation loc;           //! location for new object.
  
  HMdcBitFlipCorPar* fMdcBitFlipCorPar; 

  TFile*  rootoutputfile;  
  TString rootoutputfilename;

  FILE*  asciioutputfile;
  TString asciioutputfilename;

  Char_t title[300];          //! histrogram title
  Char_t name[300];           //! histogram name
  Char_t xtitle[300];         //! histogram xaxis title
  Char_t ytitle[300];         //! histogram yaxis title
  Char_t ztitle[300];         //! histogram zaxis title
 
  TH1F*    histtime1b[6][4][16];
  TH1F*    histtime1g[6][4][16];
  TH1F*    histtime2b[6][4][16];
  TH1F*    histtime2g[6][4][16];

  Int_t sector;
  Int_t module;
  Int_t mbo;
  Int_t tdc;
  Int_t time1;
  Int_t time2;
  Int_t trigtype;
  Int_t paramsbitcorrection[6][4][16][9];
  Int_t phist;
  Int_t prawcor;

  Int_t counterevents[6][4][16];
  Int_t countersavedtime1[6][4][16];
  Int_t countersavedtime2[6][4][16];
  Int_t ratiosaved;

 void resetVar()
   {
     sector=-1;
     module=-1;
     mbo=-1;
     tdc=-1;
     time1=-1;
     time2=-1;
     trigtype=-1;
    }


  private:
 
 TFile* openHistFile(const Char_t* flag);

  public:

    HMdcBitFlipCor(const Text_t *name,const Text_t *title, Int_t PHist=0, Int_t PRawCor=0);
    HMdcBitFlipCor(void);
    ~HMdcBitFlipCor(void);

    Bool_t init(void);
    Bool_t reinit(void);
    Bool_t finalize(void);
    Int_t  execute(void);
    
    void setRootOutputFilename(TString);
    void setAsciiOutputFilename(TString);
    void getParameterContainers();
    void createHists();
    void initVariables();
    Bool_t fparamsbitcorrection();
 
    ClassDef(HMdcBitFlipCor,0)
};

#endif
 hmdcbitflipcor.h:1
 hmdcbitflipcor.h:2
 hmdcbitflipcor.h:3
 hmdcbitflipcor.h:4
 hmdcbitflipcor.h:5
 hmdcbitflipcor.h:6
 hmdcbitflipcor.h:7
 hmdcbitflipcor.h:8
 hmdcbitflipcor.h:9
 hmdcbitflipcor.h:10
 hmdcbitflipcor.h:11
 hmdcbitflipcor.h:12
 hmdcbitflipcor.h:13
 hmdcbitflipcor.h:14
 hmdcbitflipcor.h:15
 hmdcbitflipcor.h:16
 hmdcbitflipcor.h:17
 hmdcbitflipcor.h:18
 hmdcbitflipcor.h:19
 hmdcbitflipcor.h:20
 hmdcbitflipcor.h:21
 hmdcbitflipcor.h:22
 hmdcbitflipcor.h:23
 hmdcbitflipcor.h:24
 hmdcbitflipcor.h:25
 hmdcbitflipcor.h:26
 hmdcbitflipcor.h:27
 hmdcbitflipcor.h:28
 hmdcbitflipcor.h:29
 hmdcbitflipcor.h:30
 hmdcbitflipcor.h:31
 hmdcbitflipcor.h:32
 hmdcbitflipcor.h:33
 hmdcbitflipcor.h:34
 hmdcbitflipcor.h:35
 hmdcbitflipcor.h:36
 hmdcbitflipcor.h:37
 hmdcbitflipcor.h:38
 hmdcbitflipcor.h:39
 hmdcbitflipcor.h:40
 hmdcbitflipcor.h:41
 hmdcbitflipcor.h:42
 hmdcbitflipcor.h:43
 hmdcbitflipcor.h:44
 hmdcbitflipcor.h:45
 hmdcbitflipcor.h:46
 hmdcbitflipcor.h:47
 hmdcbitflipcor.h:48
 hmdcbitflipcor.h:49
 hmdcbitflipcor.h:50
 hmdcbitflipcor.h:51
 hmdcbitflipcor.h:52
 hmdcbitflipcor.h:53
 hmdcbitflipcor.h:54
 hmdcbitflipcor.h:55
 hmdcbitflipcor.h:56
 hmdcbitflipcor.h:57
 hmdcbitflipcor.h:58
 hmdcbitflipcor.h:59
 hmdcbitflipcor.h:60
 hmdcbitflipcor.h:61
 hmdcbitflipcor.h:62
 hmdcbitflipcor.h:63
 hmdcbitflipcor.h:64
 hmdcbitflipcor.h:65
 hmdcbitflipcor.h:66
 hmdcbitflipcor.h:67
 hmdcbitflipcor.h:68
 hmdcbitflipcor.h:69
 hmdcbitflipcor.h:70
 hmdcbitflipcor.h:71
 hmdcbitflipcor.h:72
 hmdcbitflipcor.h:73
 hmdcbitflipcor.h:74
 hmdcbitflipcor.h:75
 hmdcbitflipcor.h:76
 hmdcbitflipcor.h:77
 hmdcbitflipcor.h:78
 hmdcbitflipcor.h:79
 hmdcbitflipcor.h:80
 hmdcbitflipcor.h:81
 hmdcbitflipcor.h:82
 hmdcbitflipcor.h:83
 hmdcbitflipcor.h:84
 hmdcbitflipcor.h:85
 hmdcbitflipcor.h:86
 hmdcbitflipcor.h:87
 hmdcbitflipcor.h:88
 hmdcbitflipcor.h:89
 hmdcbitflipcor.h:90
 hmdcbitflipcor.h:91
 hmdcbitflipcor.h:92
 hmdcbitflipcor.h:93
 hmdcbitflipcor.h:94
 hmdcbitflipcor.h:95
 hmdcbitflipcor.h:96
 hmdcbitflipcor.h:97
 hmdcbitflipcor.h:98
 hmdcbitflipcor.h:99
 hmdcbitflipcor.h:100
 hmdcbitflipcor.h:101
 hmdcbitflipcor.h:102
 hmdcbitflipcor.h:103
 hmdcbitflipcor.h:104
 hmdcbitflipcor.h:105
 hmdcbitflipcor.h:106
 hmdcbitflipcor.h:107
 hmdcbitflipcor.h:108
 hmdcbitflipcor.h:109
 hmdcbitflipcor.h:110
 hmdcbitflipcor.h:111
 hmdcbitflipcor.h:112
 hmdcbitflipcor.h:113
 hmdcbitflipcor.h:114
 hmdcbitflipcor.h:115