DiracDifConfig Class Reference

#include <DiracReader.hh>

Collaboration diagram for DiracDifConfig:

Collaboration graph
[legend]
List of all members.

Public Member Functions

bool read (unsigned char *buf)

Public Attributes

i32 id
ui32 bcPeriod
bool powerPulsing
bool analogReading
bool digitalReading
ui16 acqMode
ui16 lowState
ui16 highState
ui16 afterState
ui16 beforeState
bool inverted
bool ctestEnable
ui16 ctestPeriod
ui16 ctestDelay
ui16 ctestWidth
ui16 triggerDelay
ui32 charge
i32 nbChips
std::vector< DiracChipConfigchipConfigs

Detailed Description

Definition at line 58 of file DiracReader.hh.


Member Function Documentation

bool DiracDifConfig::read ( unsigned char *  buf  ) 

Definition at line 125 of file DiracReader.cpp.

00125                                             {
00126     // read 19 bytes of DIF config
00127     unsigned int data = *buf++; // read 8 bits
00128     id = data;
00129 
00130     data = *buf++; // read 8 bits
00131     powerPulsing = (data & 0x40) != 0; // bit 6
00132     analogReading = (data & 0x20) != 0; // bit 5
00133     digitalReading = (data & 0x10) != 0; // bit 4
00134     acqMode = data & 0x0F; // 4 bits (0-3)
00135 
00136     data = *buf++ << 8; // read 16 bits
00137     data += *buf++;
00138     lowState = data & 0x03FF; // 10 bits (0-9)
00139 
00140     data = *buf++ << 8; // read 16 bits
00141     data += *buf++;
00142     highState = data & 0x03FF; // 10 bits (0-9)
00143     data = *buf++; // read 8 bits
00144     afterState = data & 0x3F; // 6 bits (0-5)
00145     data = *buf++; // read 8 bits
00146     beforeState = data & 0x3F; // 6 bits (0-5)
00147 
00148     data = *buf++ << 8; // read 16 bits
00149     data += *buf++;
00150     inverted = (data & 0x0800) != 0; // bit 11
00151 
00152     ctestEnable = (data & 0x0400) != 0; // bit 10
00153     ctestPeriod = data & 0x03FF; // 10 bits (0-9)
00154 
00155     data = *buf++ << 8; // read 16 bits
00156     data += *buf++;
00157     ctestDelay = data & 0x03FF; // 10 bits(0-9)
00158 
00159     data = *buf++ << 8; // read 16 bits
00160     data += *buf++;
00161     ctestWidth = data & 0x03FF; // 10 bits(0-9)
00162 
00163     data = *buf++ << 8; // read 16 bits
00164     data += *buf++;
00165     triggerDelay = data & 0x03FF; // 10 bits(0-9)
00166 
00167     data = *buf++ << 24; // read 32 bits
00168     data += *buf++ << 16;
00169     data += *buf++ << 8;
00170     data += *buf++;
00171     charge = data; // 32 bits
00172 
00173     bcPeriod = (lowState + highState) * 10; // bunch crossing period in nanoseconds
00174     FILE_LOG(logDEBUG1) << "  DIF #" << id << " : mode " << acqMode << ", BC period = " << bcPeriod << endl;
00175 }; // DiracDifConfig::read


Member Data Documentation

i32 DiracDifConfig::id

Definition at line 63 of file DiracReader.hh.

Referenced by DiracReader::newHit().

ui32 DiracDifConfig::bcPeriod

Definition at line 64 of file DiracReader.hh.

Referenced by DiracReader::newHit(), and read().

bool DiracDifConfig::powerPulsing

Definition at line 66 of file DiracReader.hh.

Referenced by read().

bool DiracDifConfig::analogReading

Definition at line 67 of file DiracReader.hh.

Referenced by read().

bool DiracDifConfig::digitalReading

Definition at line 68 of file DiracReader.hh.

Referenced by read().

ui16 DiracDifConfig::acqMode

Definition at line 69 of file DiracReader.hh.

Referenced by read().

ui16 DiracDifConfig::lowState

Definition at line 70 of file DiracReader.hh.

Referenced by read().

ui16 DiracDifConfig::highState

Definition at line 71 of file DiracReader.hh.

Referenced by read().

ui16 DiracDifConfig::afterState

Definition at line 72 of file DiracReader.hh.

Referenced by read().

ui16 DiracDifConfig::beforeState

Definition at line 73 of file DiracReader.hh.

Referenced by read().

bool DiracDifConfig::inverted

Definition at line 74 of file DiracReader.hh.

Referenced by read().

bool DiracDifConfig::ctestEnable

Definition at line 75 of file DiracReader.hh.

Referenced by read().

ui16 DiracDifConfig::ctestPeriod

Definition at line 76 of file DiracReader.hh.

Referenced by read().

ui16 DiracDifConfig::ctestDelay

Definition at line 77 of file DiracReader.hh.

Referenced by read().

ui16 DiracDifConfig::ctestWidth

Definition at line 78 of file DiracReader.hh.

Referenced by read().

ui16 DiracDifConfig::triggerDelay

Definition at line 79 of file DiracReader.hh.

Referenced by read().

ui32 DiracDifConfig::charge

Definition at line 80 of file DiracReader.hh.

Referenced by read().

i32 DiracDifConfig::nbChips

Definition at line 82 of file DiracReader.hh.

std::vector<DiracChipConfig> DiracDifConfig::chipConfigs

Definition at line 83 of file DiracReader.hh.


The documentation for this class was generated from the following files:
Generated on Mon Jan 7 13:18:15 2013 for MicromegasFramework by  doxygen 1.4.7