CREAM TEA -- ROOT MCP

McpTarget.h

00001 
00002 
00003 
00004 
00005 
00006 #ifndef MCPTARGET
00007 #define MCPTARGET
00008 //ROOT includes
00009 #include "TGraph.h"
00010 #include "TFile.h"
00011 #include "TTree.h"
00012 
00013 //rootTarget includes
00014 #include "Defs.h"
00015 #include "TargetData.h"
00016 #include "RawTargetData.h"
00017 
00018 
00019 
00020 
00021 class McpTarget 
00022 {
00023  public:  
00024   McpTarget(int offlineMode=0);
00025   ~McpTarget();
00026 
00027   void setSoftTrigMode(int flag) {fSoftTrigMode=flag;}
00028   void setDumpHexData(int value) {fDumpRawHexData=value;}
00029   void rawSendInt(unsigned int value);
00030   void rawReadInts(int numInts, unsigned short buffer[]);
00031   void generatePedestals();
00032   void loadPedestal();
00033   void loadDnlLookUpTable();
00034   Int_t readEvent();
00035   Int_t justReadBuffer();
00036   void setExtTrigMode(Int_t mode);
00037   void useSyncUsb(Int_t flag);
00038   void sendSoftTrig();
00039   void setPedRowCol(Int_t row, Int_t col);
00040   void enablePedestal(Int_t flag);
00041   void setWbias(UInt_t value);
00042   void setTrigThresh(UInt_t value);
00043   void setTermValue(Int_t f100, Int_t f1k, Int_t f10k);
00044   void setTrigPolarity(Int_t flag); 
00045   //  void getMemAddress(UInt_t memAddrSpace, UInt_t &rowLoc, UInt_t &colLoc,
00046   //                 UInt_t &pixLoc);
00047 
00048   TGraph *getChannel(Int_t chanInd) 
00049   { 
00050     return getChannel(chanInd/NUM_CHANNELS,
00051                       chanInd%NUM_CHANNELS);
00052   }
00053   TGraph *getChannel(Int_t chip, Int_t channel);
00054 
00055   TargetData *getTargetData() {return fTargetDataPtr;}
00056   void fillVoltageArray(TargetData *targetDataPtr);
00057   void openOutputFile(char filename[]);
00058   void saveOutputFile();
00059 
00060  private:
00061   Int_t fOfflineMode;
00062   Int_t fOutputMode; 
00063   Int_t fDumpRawHexData; 
00064   Int_t fSoftTrigMode; 
00065   Int_t fTermMode; 
00066   Int_t fSampMode; 
00067   Int_t fExtTrigMode; 
00068   Int_t fEventNumber; 
00069   Int_t fTargetEventNumber; 
00070   Int_t fNumPedEvents; 
00071   UShort_t fBuffer[BUFFERSIZE]; 
00072   UShort_t fReadoutBuffer[BUFFERSIZE+2]; 
00073   Int_t fPedSubbedBuffer[NUM_TARGETS][NUM_CHANNELS][SAMPLES_PER_COL]; 
00074   Float_t fDnlLUT[4096]; 
00075   Float_t fPedestalValues[NUM_TARGETS][NUM_CHANNELS][NUM_ROWS][NUM_COLS][SAMPLES_PER_COL];
00076   Float_t fVoltBuffer[NUM_TARGETS][NUM_CHANNELS][SAMPLES_PER_COL];
00077   Float_t fDNLLookUpTable[4096];
00078   TargetData *fTargetDataPtr;
00079   RawTargetData *fRawTargetDataPtr;
00080   TFile *fTheOutputFile;
00081   TTree *fTheOutputTree;
00082    
00083 };
00084 
00085 
00086 #endif //MCPTARGET

Generated on Tue Nov 24 19:05:00 2009 for CREAM TEA -- MCP/TARGET Readout by doxygen 1.3.9.1