Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:20:41

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   // header info per packet
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   // info per FEM
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 /* __PACKET_IDDIGITIZERV3_H__ */