FairRoot/PandaRoot
Public Member Functions | List of all members
PndMvdPasta Class Reference

#include <PndMvdPasta.h>

Inheritance diagram for PndMvdPasta:

Public Member Functions

 PndMvdPasta ()
 
virtual ~PndMvdPasta ()
 
ThresholdDataFullMode AnalyzeThresholdWordFull (ULong64_t word)
 
FrameHeader AnalyzeHeader (ULong64_t word)
 
std::vector< char > ConvertData (std::vector< ULong64_t > frame)
 
 ClassDef (PndMvdPasta, 1)
 

Detailed Description

Definition at line 14 of file PndMvdPasta.h.

Constructor & Destructor Documentation

PndMvdPasta::PndMvdPasta ( )

Definition at line 13 of file PndMvdPasta.cxx.

13  {
14  // TODO Auto-generated constructor stub
15 
16 }
PndMvdPasta::~PndMvdPasta ( )
virtual

Definition at line 18 of file PndMvdPasta.cxx.

18  {
19  // TODO Auto-generated destructor stub
20 }

Member Function Documentation

FrameHeader PndMvdPasta::AnalyzeHeader ( ULong64_t  word)

Definition at line 39 of file PndMvdPasta.cxx.

References FrameHeader::frameId, and FrameHeader::nEvents.

Referenced by ProcessFrame().

40 {
41  FrameHeader tempHeader;
42  ULong_t temp = word;
43  tempHeader.frameId = temp & 0xffffffff;
44  temp = temp >> 32;
45  tempHeader.nEvents = temp & 0xff;
46 
47  return tempHeader;
48 }
ULong64_t frameId
ThresholdDataFullMode PndMvdPasta::AnalyzeThresholdWordFull ( ULong64_t  word)

Definition at line 22 of file PndMvdPasta.cxx.

References ThresholdDataFullMode::channelId, mrftools::grayToBin(), ThresholdDataFullMode::t_coarse, ThresholdDataFullMode::t_eoc, ThresholdDataFullMode::t_soc, and ThresholdDataFullMode::tacId.

Referenced by ProcessFrame().

23 {
24  ULong_t tempTime = word;
25  ThresholdDataFullMode result;
26  result.tacId = tempTime & 0x3;
27  tempTime = tempTime >> 2;
28  result.channelId = tempTime & 0x3f;
29  tempTime = tempTime >> 8; //two bits are empty
30  result.t_eoc = mrftools::grayToBin(tempTime & 0x3ff);
31  tempTime = tempTime >> 10;
32  result.t_soc = mrftools::grayToBin(tempTime & 0x3ff);
33  tempTime = tempTime >> 10;
34  result.t_coarse = mrftools::grayToBin(tempTime & 0x3ff);
35 
36  return result;
37 }
UInt_t grayToBin(UInt_t gray)
Converts gray encoded values to bianry values.
PndMvdPasta::ClassDef ( PndMvdPasta  ,
 
)
std::vector< char > PndMvdPasta::ConvertData ( std::vector< ULong64_t >  frame)

Definition at line 50 of file PndMvdPasta.cxx.

Referenced by CheckCRC().

51 {
52  std::vector<char> result;
53  for (int wordInFrame = 0; wordInFrame < frame.size() - 1; wordInFrame++){
54 // std::cout << "WordInFrame: " << std::hex << frame[wordInFrame] << std::endl;
55  for (int charInWord = 0; charInWord != 5; charInWord++){
56  char value = (frame[wordInFrame] >> ((4 - charInWord)*8)) & 0xff;
57  //std::cout << charInWord << " charInWord: " << std::hex << (int)value << std::endl;
58  result.push_back(value);
59  }
60  }
61  if (frame.size() % 2 == 0)
62  result.push_back(0x00);
63 // for (int charInWord = 0; charInWord != 2; charInWord++){
64 // char value = ((frame[frame.size()-1]) >> (1 - charInWord)*8);
65 // std::cout << charInWord << " charInWord: " << std::hex << (int)value << std::endl;
66 // result.push_back(value);
67 // }
68 
69  return result;
70 }

The documentation for this class was generated from the following files: