Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

LILinResp.h

Go to the documentation of this file.
00001 #ifndef LILinResp_h
00002 #define LILinResp_h
00003 
00004 #include <TGraphErrors.h>
00005 
00006 #include "Conventions/ElecType.h"
00007 
00008 #include <iostream>
00009 #include <stdio.h>
00010 #include <math.h>
00011 #include <map>
00012 #include <vector>
00013 #include "Calibrator/CalVaLinearity.h" 
00014 #include <MessageService/MsgService.h>
00015 
00016 
00017 class CalVaLinearity;
00018 class LILinResp {
00019   
00020  public:
00021   
00022   LILinResp();
00023   ~LILinResp();
00024 
00025   Bool_t         GetLinearity();
00026   void           PrintMe();
00027   Bool_t         FillGraphHG( const Float_t x,
00028                               const Float_t xe,
00029                               const Float_t y,
00030                               const Float_t ye );
00031 
00032   Bool_t         FillGraphLG( const Float_t x,
00033                               const Float_t xe,
00034                               const Float_t y,
00035                               const Float_t ye );
00036 
00037   std::vector<Float_t>*   GetX()                { return &fX; }
00038   std::vector<Float_t>*   GetX_e()              { return &fX_error; }
00039   std::vector<Float_t>*   GetResiduals()        { return &fResidual; }
00040   std::vector<Float_t>*   GetPMTResiduals()     { return &fResidualPMT; }
00041 
00042   TGraphErrors* resPlotHG_g;
00043   TGraphErrors* resPlotLG_g;
00044 
00045   //Slope & intercept from X vs Xref:
00046   Float_t slopeHG;
00047   Float_t interceptHG;
00048   Float_t slopeHG_e;
00049   Float_t interceptHG_e;
00050 
00051   Float_t slopeLG;
00052   Float_t interceptLG;
00053   Float_t slopeLG_e;
00054   Float_t interceptLG_e;
00055 
00056   Float_t gain;
00057   Float_t drift;
00058   Int_t   led;
00059 
00060   Int_t         addressKey;
00061   Int_t         entryHG;
00062   Int_t         entryLG;
00063 
00064   ElecType::Elec_t typeFEE; //enum with kVA & kQIE
00065 
00066   //VA non-linearity object:
00067   static CalVaLinearity* myCV;
00068 
00069   //
00070   //X, Xref & Residual to be returned and used:
00071   //
00072   std::vector<Float_t>   fX;
00073   std::vector<Float_t>   fX_error;
00074   std::vector<Float_t>   fResidual;     //Residual with no correction for VA NL
00075   std::vector<Float_t>   fResidualPMT;  //Residual with correction for VA NL -> PMT alone
00076 
00077   //The PIN information is common (static) to all the PMT channels (LILinResp):
00078   static std::vector<Float_t> fXrefPINLG1;
00079   static std::vector<Float_t> fXrefPINLG2;
00080   static std::vector<Float_t> fXrefPINLG3;
00081   static std::vector<Float_t> fXrefPINLG4;
00082   static std::vector<Float_t> fXrefPINLG5;
00083   static std::vector<Float_t> fXrefPINLG6;
00084 
00085   static std::vector<Float_t> fXrefPINHG1;
00086   static std::vector<Float_t> fXrefPINHG2;
00087   static std::vector<Float_t> fXrefPINHG3;
00088   static std::vector<Float_t> fXrefPINHG4;
00089   static std::vector<Float_t> fXrefPINHG5;
00090   static std::vector<Float_t> fXrefPINHG6;
00091 };
00092 
00093 #endif

Generated on Mon Feb 15 11:06:51 2010 for loon by  doxygen 1.3.9.1