File indexing completed on 2025-08-03 08:20:52
0001 #ifndef __PACKET_IDDIGITIZERV3_H__
0002 #define __PACKET_IDDIGITIZERV3_H__
0003
0004
0005 #include "packet_w124.h"
0006
0007 #ifndef __CINT__
0008 class WINDOWSEXPORT Packet_iddigitizerv3 : public Packet_w4 {
0009 #else
0010 class Packet_iddigitizerv3 : public Packet_w4 {
0011 #endif
0012
0013 public:
0014 Packet_iddigitizerv3( PACKET_ptr);
0015 ~Packet_iddigitizerv3();
0016
0017 int iValue(const int sample, const int ch);
0018 int iValue(const int ,const char * what);
0019 long long lValue(const int ,const char * what);
0020 void dump ( OSTREAM& os = COUT) ;
0021 int getStatus() const { return _broken;};
0022
0023 protected:
0024 int decode ();
0025 unsigned int decode_FEM ( unsigned int *k, const int fem_nr, const int len);
0026
0027 int _broken;
0028
0029 #define NR_FEMS 4
0030
0031
0032
0033 unsigned int _evtnr;
0034 unsigned int _clock_rollover;
0035 unsigned int _evtrollover;
0036 int _module_address;
0037 unsigned int _xmit_clock;
0038
0039
0040 int _fem_slot[NR_FEMS];
0041 int _fem_evtnr[NR_FEMS];
0042 int _fem_clock[NR_FEMS];
0043
0044 int _fem_checksum_MSB[NR_FEMS];
0045 int _fem_checksum_LSB[NR_FEMS];
0046 int _fem_calculated_checksum_MSB[NR_FEMS];
0047 int _fem_calculated_checksum_LSB[NR_FEMS];
0048
0049 int _nsamples;
0050 int _nr_modules;
0051
0052 int _nchannels;
0053 int _is_decoded;
0054
0055 bool isZeroSuppressed[NR_FEMS*64];
0056 bool _AnyChannelisSuppressed;
0057
0058 int adc[32][NR_FEMS*64];
0059 int pre_post[2][NR_FEMS*64];
0060
0061
0062 };
0063
0064
0065 #endif