00001 #ifndef _DAQ_TPX_H_
00002 #define _DAQ_TPX_H_
00003
00004
00005 #include <DAQ_READER/daq_det.h>
00006
00007
00008
00009 class tpxPed ;
00010 class tpxGain ;
00011 class tpxFCF ;
00012 class tpxStat ;
00013 class daqReader;
00014
00015 class daq_tpx : public daq_det {
00016 private:
00017 class daq_dta *handle_raw(int sec, int rdo) ;
00018 class daq_dta *handle_legacy(int sec, int rdo) ;
00019 class daq_dta *handle_adc(int sec, int rdo) ;
00020 class daq_dta *handle_cld(int sec, int rdo) ;
00021 class daq_dta *handle_cld_raw(int sec, int rdo) ;
00022 class daq_dta *handle_cld_sim(int sec, int row) ;
00023 class daq_dta *handle_ped(int sec) ;
00024
00025
00026 class daq_dta *raw ;
00027 class daq_dta *cld_raw ;
00028 class daq_dta *ped_raw ;
00029
00030
00031 class daq_dta *adc ;
00032
00033
00034 class daq_dta *cld ;
00035
00036
00037 class daq_dta *legacy ;
00038
00039
00040 class daq_dta *adc_sim ;
00041 class daq_dta *gain ;
00042 class daq_dta *ped ;
00043
00044
00045 class daq_dta *cld_sim ;
00046
00047
00048 class daq_dta *ped_c ;
00049 class daq_dta *gain_c ;
00050
00051
00052
00053 class tpxPed *ped_algo ;
00054
00055 class tpxStat *stat_algo ;
00056
00057
00058
00059 u_int *fcf_tmp_storage ;
00060
00061 static const int FCF_TMP_BYTES = (1024*1024) ;
00062
00063 static const int MAX_SEC = 24 ;
00064 static const int MAX_RDO = 6 ;
00065
00066 static const char *help_string ;
00067
00068 protected:
00069
00070 public:
00071 daq_tpx(daqReader *rts_caller=0) ;
00072 ~daq_tpx() ;
00073
00074 class tpxGain *gain_algo ;
00075
00076 char fcf_afterburner_disable ;
00077 char fcf_run_compatibility ;
00078 char fcf_do_cuts ;
00079
00080
00081 int sim_row_count ;
00082 unsigned char *sim_tpx_rowlen ;
00083
00084
00085 class tpxFCF *fcf_algo[25] ;
00086
00087 int InitRun(int run_num) ;
00088 int FinishRun(int old_run) ;
00089
00090
00091 class daq_dta *get(const char *bank="*", int c1=-1, int c2=-1, int c3=-1, void *p1=0, void *p2=0) ;
00092
00093 class daq_dta *put(const char *bank="*", int c1=-1, int c2=-1, int c3=-1, void *p1=0, void *p2=0) ;
00094
00095
00096 int get_token(char *buff, int buff_bytes) ;
00097 int get_l2(char *buff, int buff_bytes, struct daq_trg_word *trg, int prompt=0) ;
00098
00099
00100
00101
00102 virtual const char *GetCVS() const {
00103 static const char cvs[]="Tag $Name: $Id: built "__DATE__" "__TIME__ ; return cvs;
00104 }
00105
00106 void help() const ;
00107
00108 } ;
00109
00110
00111 #endif // _DAQ_TPX_H_