fdhwlib
2.0.25
|
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