fdhwlib  2.0.25
/home/kopmann/git-mirror/fdhwlib/fdhwlib/Hw/Flt.h
Go to the documentation of this file.
00001 /***************************************************************************
00002     Flt.h  - description
00003 
00004     begin                : Mon Jul 3 2000
00005     copyright            : (C) 2000 by Andreas Kopmann
00006     email                : kopmann@hpe.fzk.de
00007  ***************************************************************************/
00008 
00009 
00010 #if defined (_MSC_VER) && (_MSC_VER >= 1000)
00011 #pragma once
00012 #endif
00013 #ifndef _INC_FLT_38563E5801FB_INCLUDED
00014 #define _INC_FLT_38563E5801FB_INCLUDED
00015 
00016 
00017 #include <Hw/FltDef.h>
00018 #include <Hw/FltRegister.h>
00019 #include <Hw/FltPixRegister.h>
00020 
00021 #include <Hw/FltCntrlStatus.h>
00022 #include <Hw/FltMargins.h>
00023 #include <Hw/FltHitRate.h>
00024 #include <Hw/FltCurrent.h>
00025 #include <Hw/FltTestPattern.h>
00026 #include <Hw/FltPeriphStatus.h>
00027 #include <Hw/FltThreshold.h>
00028 #include <Hw/FltStatistic.h>
00029 
00030 #include <Hw/FltMemory.h>
00031 
00032 #if defined (FLT_VER) && (FLT_VER >= 200)
00033 #include <Hw/FltSum.h>
00034 #endif
00035 
00036 #if defined (FLT_VER) && (FLT_VER >= 210)
00037 #include <Hw/flttriggermode.h>
00038 #endif
00039 
00040 #include <Hw/Subrack.h>
00041 #include <Hw/subrackboard.h>
00042 
00043 
00044 #define FLT_REGS 16
00045 #define FLT_PIXREGS 16
00046 
00047 class Subrack;
00048 
00084 //##ModelId=39913E3F03DC
00085 class Flt : public SubrackBoard {
00086 public:
00087 
00088         //##ModelId=39913E4002BB
00089    Flt(int ID);
00090 
00091    virtual ~Flt();
00092 
00093 
00094    int getVersion(int unit=0);
00095    
00097 //   bool isPresent();
00098 
00101    bool checkPresence();
00102 
00110    int getHardwareModelVersion(); 
00111 
00126    int testMemory(FILE *fout, int ch = -1);
00127 
00143    int testTransferRate(FILE *fout, int ch = -1, int page = -1);
00144 
00145 
00152   int compareData(FILE *fout, unsigned short *data,
00153            unsigned short *patter, int shift, int n, int output=1);
00154 
00155 
00158   int getMeanAdcValue(int ch, double *value);
00159 
00165   int setThresholdToAdc(int ch, unsigned long delta);
00166 
00167 
00168         //##ModelId=39913E4002B1
00169         Subrack* theSubrack;
00170 
00172         //##ModelId=39913E400293
00173   FltRegister ** theRegister;
00174 
00176         //##ModelId=39913E400275
00177   FltPixRegister ** thePixRegister;
00178 
00179         //##ModelId=39913E40022E
00180   int nRegs;
00181 
00182         //##ModelId=39913E4001FC
00183   int nPixRegs;
00184 
00185   //##ModelId=39913E4001DE
00186   FltCntrlStatus * cntrlStatus;
00187 
00188   //##ModelId=391FBEFC0180
00189   //FltPixelStatus1 * pixelStatus1;
00190   //##ModelId=39913E4001CA
00191   FltRegister * pixelStatus1;
00192 
00193   //##ModelId=391FBF0302DF
00194   //FltPixelStatus2 * pixelStatus2;
00195   //##ModelId=39913E4001AC
00196   FltRegister * pixelStatus2;
00197 
00198   //##ModelId=391FBF0A027B
00199   //FltPixelStatus3 * pixelStatus3;
00200   //##ModelId=39913E40018E
00203   FltRegister * pixelStatus3;
00204 
00205   //##ModelId=391FBF1600C0
00206   //FltDisOnCntrl * theDisOnCntrl;
00207   //##ModelId=39913E400170
00208   FltRegister * disOnCntrl;
00209 
00210   //##ModelId=39913E40015C
00211   FltMargins * marginsLow;
00212 
00213   //##ModelId=39913E40013E
00214   FltMargins * marginsHigh;
00215 
00216   //##ModelId=39913E400120
00217   FltRegister * serPort;
00218 
00219   //##ModelId=39913E40010C
00220   FltHitrate * hitrate;
00221 
00222   //##ModelId=39913E4000F8
00223   FltPixRegister * gain;
00224 
00225   //##ModelId=39913E4000DC
00226   FltCurrent * current;
00227 
00228   //##ModelId=39913E4000BE
00229   FltTestPattern * testPattern;
00230 
00231   //##ModelId=39913E4000AA
00232   FltPeriphStatus * periphStatus;
00233 
00234 #if defined (FLT_VER) && (FLT_VER >= 200)
00235   FltThreshold *threshold;
00236 
00237   FltStatistic * statisticSet;
00238 
00239   FltSum * sum;
00240 
00241   FltPixRegister *sumSq;
00242 
00243 #if defined (FLT_VER) && (FLT_VER >= 210)
00244 
00253   FltPixRegister *sumSqBuffer;
00254 
00258   FltTriggerMode *triggerMode;
00259 #endif
00260 
00261 
00262 #else
00263   //##ModelId=39913E40009E
00264   FltThreshold * actThresh;
00265 
00266   //##ModelId=39913E40008C
00267   FltThreshold * prevThresh;
00268 #endif
00269 
00270 
00271   //##ModelId=39913E400078
00272   FltMemory * memory;
00273 
00274 private:
00275 
00277   //int ID;
00278 
00281   //bool present;
00282 };
00283 
00284 #endif /* _INC_FLT_38563E5801FB_INCLUDED */
00285