CMS 3D CMS Logo

CamacTBDataFormatter.h
Go to the documentation of this file.
1 #ifndef CamacTBDataFormatter_H
2 #define CamacTBDataFormatter_H
3 
10 #include <vector>
11 #include <iostream>
12 
15 
21 
23 
24 
25 
26 
28 
29  public:
30 
32  virtual ~CamacTBDataFormatter(){LogDebug("EcalTBRawToDigi") << "@SUB=CamacTBDataFormatter" << "\n"; };
33 
34 
35  void interpretRawData( const FEDRawData & data, EcalTBEventHeader& tbEventHeader,
36  EcalTBHodoscopeRawInfo& hodoRaw, EcalTBTDCRawInfo& tdcRawInfo );
37 
38  // for tests based on standalone file
39  /* void interpretRawData(unsigned long * buffer, unsigned long bufferSize, */
40  /* EcalTBEventHeader& tbEventHeader, */
41  /* EcalTBHodoscopeRawInfo & hodo, */
42  /* EcalTBTDCRawInfo & tdc); */
43 
44 
45 
46  private:
47 
48  bool checkStatus(unsigned long word, int wordNumber);
49 
50  int nWordsPerEvent; // Number of fibers per hodoscope plane
51 
52  static const int nHodoFibers = 64; // Number of fibers per hodoscope plane
53  static const int nHodoscopes = 2; // Number of different mappings between fiber and electronics
54  static const int nHodoPlanes = 4; // Number of hodoscopes along the beam
55  static const int hodoRawLen = 4; // The raw data is stored as 4 integers for each hodo plane
56 
59  int hodoAll[nHodoPlanes*nHodoFibers];
60  bool statusWords[148+4];
61 
62  std::vector<int> scalers_;
63 };
64 #endif
#define LogDebug(id)
int nHodoHits[nHodoPlanes]
std::vector< int > scalers_
int hodoAll[nHodoPlanes *nHodoFibers]
bool checkStatus(unsigned long word, int wordNumber)
static const int nHodoFibers
int hodoHits[nHodoPlanes][nHodoFibers]
static const int nHodoscopes
static const int nHodoPlanes
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
static const int hodoRawLen
void interpretRawData(const FEDRawData &data, EcalTBEventHeader &tbEventHeader, EcalTBHodoscopeRawInfo &hodoRaw, EcalTBTDCRawInfo &tdcRawInfo)