CMS 3D CMS Logo

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