00001 /* @version $Revision: 1566 $ * @modifiedby $Author: jacquem $ * @lastmodified $Date: 2012-03-08 14:00:10 +0100 (Thu, 08 Mar 2012) $ */ 00002 00003 #ifndef _DIRAC_CHIP_HH_ 00004 #define _DIRAC_CHIP_HH_ 00005 00006 ////////////////////////////////////////////////////////////////////////// 00007 // MICROMEGAS 00008 // 00009 // Dirac chip for Dirac boards 00010 // 00011 ////////////////////////////////////////////////////////////////////////// 00012 00013 #include "geometry/Chip.hh" 00014 00015 00016 00017 ////////////////////////////////////////////////////////////////////////// 00018 // CLASS Dirac // 00019 ////////////////////////////////////////////////////////////////////////// 00020 class DiracChip : public Chip { 00021 public : 00022 DiracChip(const Board& aBoard, const i32 aCol, const i32 aRow, const ui32 nbColumns, const ui32 nbRows, const i32 aId,const ui32 aSerialNumber); 00023 virtual ~DiracChip() { }; 00024 00025 bool read(unsigned char *buf); 00026 00027 //------ methods ------------------// 00028 public : 00029 const ui32 getXGap() const { return(0); }; // in centimeters 10um 00030 const ui32 getYGap() const { return(0); }; 00031 DiracChip& operator = (const DiracChip& x); 00032 00033 ui32 getBLoThreshold() const { return bLoThreshold;}; 00034 ui32 getBMidThreshold() const { return bMidThreshold;}; 00035 ui32 getBHiThreshold() const { return bHiThreshold;}; 00036 00037 ui32 getALoThreshold() const{ return aLoThreshold;}; 00038 ui32 getAMidThreshold() const{ return aMidThreshold;}; 00039 ui32 getAHiThreshold() const{ return aHiThreshold;}; 00040 00041 bool getAnalogData() const { return analogData;}; 00042 00043 void setBLoThreshold( ui32 value) { bLoThreshold = value;}; 00044 void setBMidThreshold(ui32 value) { bMidThreshold = value;}; 00045 void setBHiThreshold( ui32 value) { bHiThreshold = value;}; 00046 00047 void setALoThreshold( ui32 value) { aLoThreshold = value;}; 00048 void setAMidThreshold(ui32 value) { aMidThreshold = value;}; 00049 void setAHiThreshold( ui32 value) { aHiThreshold = value;}; 00050 00051 void setAnalogData( bool value ) { analogData = value; }; 00052 00053 00054 00055 00056 private : 00057 ui32 bLoThreshold; 00058 ui32 bMidThreshold; 00059 ui32 bHiThreshold; 00060 ui32 aLoThreshold; 00061 ui32 aMidThreshold; 00062 ui32 aHiThreshold; 00063 bool analogData; 00064 00065 private : 00066 int HRmap(int channel); 00067 void init(); 00068 //----- data members --------------// 00069 00070 }; 00071 00072 #endif // _DIRAC_CHIP_HH_