ATLAS Offline Software
Loading...
Searching...
No Matches
CscRODReadOut Class Reference

#include <CscRODReadOut.h>

Collaboration diagram for CscRODReadOut:

Public Member Functions

 CscRODReadOut ()
 CscRODReadOut (double startTime, double signalWidth, uint16_t numIntegration)
 ~CscRODReadOut ()=default
uint32_t getHeaderSize () const
uint32_t getFooterSize () const
uint32_t numSamples () const
uint32_t latency () const
uint32_t samplingRate () const
uint32_t numDPU () const
uint32_t dpuHeader () const
uint32_t dpuHeaderSize () const
double getStartTime () const
double getConversion () const
double getMaxTimeBin () const
uint32_t getSourceID (uint16_t side, uint16_t rodId) const
void encodeFragments (const std::vector< uint16_t > &amplitude, std::vector< uint32_t > &v) const
void set (const CscIdHelper *cscIdHelper)
void setChamberBitVaue (uint32_t value)
void setParams (double timeOffset, double signalWidth)
bool isDPU (const uint32_t fragment) const
bool discard (const uint32_t fragment) const
bool isAmplitude (const uint16_t fragment) const
bool isAddress (const uint32_t fragment) const
void decodeSourceID (uint32_t sourceIdIDIn, uint16_t &sourceID, uint16_t &moduleType, uint16_t &subDetectorId, uint16_t &rodId) const
void decodeAmplitude (const uint32_t fragment, uint16_t &amp1, uint16_t &amp2) const
uint32_t fragmentToAddress (const uint32_t fragment) const
Identifier decodeAddress (const uint32_t address) const
uint32_t hashIdentifier (const uint32_t address, const Identifier &moduleId) const
uint32_t numberOfStrips (const uint32_t fragment) const
Identifier decodeAddress (const uint32_t address, const Identifier &moduleId) const
Identifier decodeAddress (const uint32_t address, const Identifier &moduleId, int j) const
double signal_amplitude (double samplingTime) const
uint32_t address (const Identifier &channelId, int &eta, int &phi) const

Static Public Member Functions

static int findCharge (double samplingTime, const std::vector< uint16_t > &amplitude, double &time)

Private Member Functions

void set32bits (const uint16_t *v16, uint32_t &v32) const
double signal (double z) const

Private Attributes

const CscIdHelperm_cscIdHelper
uint32_t m_chamberBitValue
double m_norm
double m_TIME_OFFSET
double m_SIGNAL_WIDTH
int m_NUMBER_OF_INTEGRATION
double m_CHARGE_TO_ADC_COUNT
double m_Z0

Static Private Attributes

static const uint32_t ROD_HEADER_SIZE = 12
static const uint32_t ROD_FOOTER_SIZE = 0x0
static const uint16_t SOURCE_ID = 0x00
static const uint16_t MODULE_TYPE = 0x00
static const uint16_t BODY_AMPLITUDE = 0x0000
static const uint32_t BODY_ADDRESS = 0x00000000
static const uint32_t NUM_SAMPLES = 25
static const uint32_t LATENCY = 0
static const uint32_t RATE = 40
static const uint32_t NUM_DPU = 12
 MHz.
static const uint32_t DPU_HEADER_MARKER = 0xC5F38856
static const uint32_t DPU_HEADER_SIZE = 13
static const uint32_t DPU_DISCARD = 0xFFFFFFFF

Detailed Description

Definition at line 22 of file CscRODReadOut.h.

Constructor & Destructor Documentation

◆ CscRODReadOut() [1/2]

CscRODReadOut::CscRODReadOut ( )

Definition at line 8 of file CscRODReadOut.cxx.

8 : m_cscIdHelper(nullptr), m_chamberBitValue(0) {
9 m_TIME_OFFSET = 46.825; // ns
10 m_SIGNAL_WIDTH = 16.08; // ns
12 m_Z0 = (m_NUMBER_OF_INTEGRATION + 1) - sqrt(m_NUMBER_OF_INTEGRATION + 1); // time bin at the maximum
13 // obtained by setting the derivative = 0
14 // this gives 2 solutions:
15 // Z0=9.394 and 16.606
16 // 9.394 is for positive amplitude
17
18 // conversion factor from ee charge to ADC count
19 // assuming for now 1 ADC count = 0.32 femtoCoulomb!
20
21 /* From Valeri Tcherniatine --- April 11, 2004
22 conversion= ( e*G*k*m*d*1.6e-19)/2000
23 e=75 - average number ionization e in CSC
24 G=10^5 - gas gain
25 k=0.15 - factor taking to account electronic time integration (charge
26 deficit) and only one cathode readout
27 m=0.5 - part of induce charge contained in max. strip
28 d=7 - value of dynamic range expressed in average particle ionization
29 deposition in CSC. At this value (7) out of region inefficiency is <2%.
30 1.6e-19 - e charge
31 2000 - max. ADC counts for positive part of signal
32 Collect all numbers together conversion = 0.32 femtoCoulomb per ADC count
33 */
34
35 m_CHARGE_TO_ADC_COUNT = (0.32e-15) / (1.602e-19);
37}
uint32_t m_chamberBitValue
double m_TIME_OFFSET
int m_NUMBER_OF_INTEGRATION
double m_SIGNAL_WIDTH
double m_CHARGE_TO_ADC_COUNT
const CscIdHelper * m_cscIdHelper
double signal(double z) const

◆ CscRODReadOut() [2/2]

CscRODReadOut::CscRODReadOut ( double startTime,
double signalWidth,
uint16_t numIntegration )

Definition at line 39 of file CscRODReadOut.cxx.

39 : m_cscIdHelper(nullptr), m_chamberBitValue(0) {
41 m_SIGNAL_WIDTH = signalWidth; // ns
42 m_NUMBER_OF_INTEGRATION = numIntegration;
43 m_Z0 = (m_NUMBER_OF_INTEGRATION + 1) - sqrt(m_NUMBER_OF_INTEGRATION + 1); // time bin at the maximum
44 // obtained by setting the derivative = 0
45 // this gives 2 solutions:
46 // Z0=9.394 and 16.606
47 // 9.394 is for positive amplitude
48
49 m_CHARGE_TO_ADC_COUNT = (0.32e-15) / (1.602e-19);
51}

◆ ~CscRODReadOut()

CscRODReadOut::~CscRODReadOut ( )
default

Member Function Documentation

◆ address()

uint32_t CscRODReadOut::address ( const Identifier & channelId,
int & eta,
int & phi ) const
inline

Definition at line 254 of file CscRODReadOut.h.

254 {
255 // unpack the strip identifier
256 int name = m_cscIdHelper->stationName(channelId);
257 eta = m_cscIdHelper->stationEta(channelId);
258 phi = m_cscIdHelper->stationPhi(channelId);
259 int chamberLayer = m_cscIdHelper->chamberLayer(channelId);
260 int wireLayer = m_cscIdHelper->wireLayer(channelId);
261 int orientation = m_cscIdHelper->measuresPhi(channelId);
262 int strip = m_cscIdHelper->strip(channelId);
263
264 // NOPE. Don't flip it!! This strip is for CscDigitToCscRdoTool online address
265
266 // redefine the ranges
267 uint32_t nameIndex = uint32_t(name - 50);
268 uint32_t etaIndex = (eta == -1) ? 0 : 1;
270 uint32_t chamberIndex = uint32_t(chamberLayer - 0);
271 uint32_t layerIndex = uint32_t(wireLayer - 1);
272 uint32_t stripType = uint32_t(orientation);
273 uint32_t stripNumber = uint32_t(strip - 1);
274
275 if (m_chamberBitValue == 1) chamberIndex = uint32_t(chamberLayer - 1);
276
277 // build the address
279 nameIndex << 16 | phiIndex << 13 | etaIndex << 12 | chamberIndex << 11 | layerIndex << 9 | stripType << 8 | stripNumber;
280
281 return address;
282}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
uint32_t address(const Identifier &channelId, int &eta, int &phi) const
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
Definition EtaPhiLUT.cxx:23
setEventNumber uint32_t

◆ decodeAddress() [1/3]

Identifier CscRODReadOut::decodeAddress ( const uint32_t address) const
inline

Definition at line 161 of file CscRODReadOut.h.

161 {
162 int stationName = ((address & 0x00010000) >> 16) + 50;
163 int stationEta = (((address & 0x00001000) >> 12) == 0x0) ? -1 : 1;
164 int stationPhi = ((address & 0x0000E000) >> 13) + 1;
165
166 return m_cscIdHelper->elementID(stationName, stationEta, stationPhi);
167}
constexpr uint8_t stationPhi
station Phi 1 to 8

◆ decodeAddress() [2/3]

Identifier CscRODReadOut::decodeAddress ( const uint32_t address,
const Identifier & moduleId ) const
inline

Definition at line 171 of file CscRODReadOut.h.

171 {
172 int chamberLayer = ((address & 0x00000800) >> 11) + m_chamberBitValue;
173
174 int wireLayer = ((address & 0x00000600) >> 9) + 1;
175 int measuresPhi = ((address & 0x00000100) >> 8);
176
177 int strip = (address & 0x000000FF) + 1;
178
179 int stationEta = (((address & 0x00001000) >> 12) == 0x0) ? -1 : 1;
180
181 // Added to Online -> Offline id in A side number is opposite bug#56002
182 if (measuresPhi) {
183 if (stationEta > 0) strip = 49 - strip;
184 }
185
186 return m_cscIdHelper->channelID(moduleId, chamberLayer, wireLayer, measuresPhi, strip);
187}

◆ decodeAddress() [3/3]

Identifier CscRODReadOut::decodeAddress ( const uint32_t address,
const Identifier & moduleId,
int j ) const
inline

Definition at line 191 of file CscRODReadOut.h.

191 {
192 int chamberLayer = ((address & 0x00000800) >> 11) + m_chamberBitValue;
193
194 int wireLayer = ((address & 0x00000600) >> 9) + 1;
195 int measuresPhi = ((address & 0x00000100) >> 8);
196 int strip = (address & 0x000000FF) + 1 + j;
197
198 // Added to Online -> Offline id in A side number is opposite bug#56002
199 if (measuresPhi) {
200 int stationEta = (((address & 0x00001000) >> 12) == 0x0) ? -1 : 1;
201 if (stationEta > 0) strip = 49 - strip;
202 }
203
204 return m_cscIdHelper->channelID(moduleId, chamberLayer, wireLayer, measuresPhi, strip);
205}

◆ decodeAmplitude()

void CscRODReadOut::decodeAmplitude ( const uint32_t fragment,
uint16_t & amp1,
uint16_t & amp2 ) const
inline

Definition at line 154 of file CscRODReadOut.h.

154 {
155 amp2 = 0x0000FFFF & fragment;
156 amp1 = (0xFFFF0000 & fragment) >> 16;
157}

◆ decodeSourceID()

void CscRODReadOut::decodeSourceID ( uint32_t sourceIdIDIn,
uint16_t & sourceID,
uint16_t & moduleType,
uint16_t & subDetectorId,
uint16_t & rodId ) const
inline

Definition at line 121 of file CscRODReadOut.h.

122 {
123 sourceID = (sourceIDIn & 0xff000000) >> 24;
124 moduleType = (sourceIDIn & 0x00ff0000) >> 16;
125 subDetectorId = (sourceIDIn & 0x0000ff00) >> 8;
126 rodId = (sourceIDIn & 0x000000ff);
127}

◆ discard()

bool CscRODReadOut::discard ( const uint32_t fragment) const
inline

Definition at line 142 of file CscRODReadOut.h.

142{ return (fragment == DPU_DISCARD); }
static const uint32_t DPU_DISCARD

◆ dpuHeader()

uint32_t CscRODReadOut::dpuHeader ( ) const
inline

Definition at line 37 of file CscRODReadOut.h.

37{ return DPU_HEADER_MARKER; }
static const uint32_t DPU_HEADER_MARKER

◆ dpuHeaderSize()

uint32_t CscRODReadOut::dpuHeaderSize ( ) const
inline

Definition at line 38 of file CscRODReadOut.h.

38{ return DPU_HEADER_SIZE; }
static const uint32_t DPU_HEADER_SIZE

◆ encodeFragments()

void CscRODReadOut::encodeFragments ( const std::vector< uint16_t > & amplitude,
std::vector< uint32_t > & v ) const

pedestal

Definition at line 53 of file CscRODReadOut.cxx.

53 {
54 int numberOfFragments = amplitude.size();
55
56 // now the data
58
59 int j = 0;
60 while (j < numberOfFragments) {
61 uint32_t v32 = 0;
62 uint16_t amp[2] = {0, 0};
63 for (int i = 0; i < 2; i++) { amp[i] = (BODY_AMPLITUDE << 12) | amplitude[i + j]; }
64 set32bits(amp, v32);
65 v.push_back(v32);
66 j += 2;
67 }
68}
void set32bits(const uint16_t *v16, uint32_t &v32) const
static const uint16_t BODY_AMPLITUDE
setWord1 uint16_t

◆ findCharge()

int CscRODReadOut::findCharge ( double samplingTime,
const std::vector< uint16_t > & amplitude,
double & time )
static

do a parabolic fit - from Nir and David

calculate the charge and the time need to use the correct calibration

assuming amplitude[0] gives the pedestal

Definition at line 70 of file CscRODReadOut.cxx.

70 {
71 // very crude - to be done better
72
73 int charge = 0;
74 time = 0.0;
75
76 int numberOfSamplings = amplitude.size();
77
78 uint16_t max = 0;
79 int maxIndex = -1;
80 for (int i = 0; i < numberOfSamplings; i++) {
81 if (amplitude[i] > max) {
82 max = amplitude[i];
83 maxIndex = i;
84 }
85 }
86
87 if (max == 0) return charge;
88 if (maxIndex < 0 || maxIndex >= numberOfSamplings) return charge;
89
91 if (maxIndex == 0)
92 return amplitude[0];
93 else if (maxIndex == (numberOfSamplings - 1))
94 return amplitude[numberOfSamplings - 1];
95 else {
96 double a, b, c;
97 double y1 = amplitude[maxIndex - 1];
98 double y2 = amplitude[maxIndex];
99 double y3 = amplitude[maxIndex + 1];
100 a = 0.5 * (y3 + y1 - 2 * y2);
101 b = 0.5 * (y3 - y1);
102 c = y2;
103
106 double offset = (a == 0) ? 0 : -b / (2 * a);
107 charge = static_cast<int>(a * offset * offset + b * offset + c - amplitude[0]);
108 time = (maxIndex + offset) * samplingTime;
109 return charge;
110 }
111}
double charge(const T &p)
Definition AtlasPID.h:997
static Double_t a
#define max(a, b)
Definition cfImp.cxx:41
time(flags, cells_name, *args, **kw)

◆ fragmentToAddress()

uint32_t CscRODReadOut::fragmentToAddress ( const uint32_t fragment) const
inline

Definition at line 159 of file CscRODReadOut.h.

159{ return 0x0001FFFF & fragment; }

◆ getConversion()

double CscRODReadOut::getConversion ( ) const
inline

Definition at line 42 of file CscRODReadOut.h.

42{ return m_CHARGE_TO_ADC_COUNT; }

◆ getFooterSize()

uint32_t CscRODReadOut::getFooterSize ( ) const
inline

Definition at line 30 of file CscRODReadOut.h.

30{ return ROD_FOOTER_SIZE; }
static const uint32_t ROD_FOOTER_SIZE

◆ getHeaderSize()

uint32_t CscRODReadOut::getHeaderSize ( ) const
inline

Definition at line 29 of file CscRODReadOut.h.

29{ return ROD_HEADER_SIZE; }
static const uint32_t ROD_HEADER_SIZE

◆ getMaxTimeBin()

double CscRODReadOut::getMaxTimeBin ( ) const
inline

Definition at line 43 of file CscRODReadOut.h.

43{ return m_Z0; }

◆ getSourceID()

uint32_t CscRODReadOut::getSourceID ( uint16_t side,
uint16_t rodId ) const
inline

Definition at line 115 of file CscRODReadOut.h.

115 {
116 uint32_t sourceIdentifier = 0;
117 sourceIdentifier = SOURCE_ID << 24 | MODULE_TYPE << 16 | side << 8 | rodId;
118 return sourceIdentifier;
119}
static const uint16_t MODULE_TYPE
static const uint16_t SOURCE_ID

◆ getStartTime()

double CscRODReadOut::getStartTime ( ) const
inline

Definition at line 41 of file CscRODReadOut.h.

41{ return m_TIME_OFFSET; }

◆ hashIdentifier()

uint32_t CscRODReadOut::hashIdentifier ( const uint32_t address,
const Identifier & moduleId ) const
inline

Definition at line 209 of file CscRODReadOut.h.

209 {
210 int chamberLayer = ((address & 0x00000800) >> 11) + m_chamberBitValue;
211
212 int wireLayer = ((address & 0x00000600) >> 9) + 1;
213 int measuresPhi = ((address & 0x00000100) >> 8);
214 int strip = (address & 0x000000FF) + 1;
215
216 // Added to Online -> Offline id in A side number is opposite bug#56002
217 if (measuresPhi) {
218 int stationEta = (((address & 0x00001000) >> 12) == 0x0) ? -1 : 1;
219 if (stationEta > 0) strip = 49 - strip;
220 }
221
222 Identifier id = m_cscIdHelper->channelID(moduleId, chamberLayer, wireLayer, measuresPhi, strip);
223 IdContext context = m_cscIdHelper->channel_context();
224 IdentifierHash hash;
225 if (m_cscIdHelper->get_hash(id, hash, &context)){
226 throw (std::runtime_error("CscRODReadOut::hashIdentifier: Unable to get identifier!"));
227 };
228 return (uint32_t)hash;
229}

◆ isAddress()

bool CscRODReadOut::isAddress ( const uint32_t fragment) const
inline

Definition at line 149 of file CscRODReadOut.h.

149 {
150 uint32_t addressTest = (fragment >> 17);
151 return (addressTest == BODY_ADDRESS);
152}
static const uint32_t BODY_ADDRESS

◆ isAmplitude()

bool CscRODReadOut::isAmplitude ( const uint16_t fragment) const
inline

Definition at line 144 of file CscRODReadOut.h.

144 {
145 uint16_t amplitudeTest = (fragment >> 12);
146 return (amplitudeTest == BODY_AMPLITUDE);
147}

◆ isDPU()

bool CscRODReadOut::isDPU ( const uint32_t fragment) const
inline

Definition at line 140 of file CscRODReadOut.h.

140{ return (fragment == DPU_HEADER_MARKER); }

◆ latency()

uint32_t CscRODReadOut::latency ( ) const
inline

Definition at line 32 of file CscRODReadOut.h.

32{ return LATENCY; }
static const uint32_t LATENCY

◆ numberOfStrips()

uint32_t CscRODReadOut::numberOfStrips ( const uint32_t fragment) const
inline

Definition at line 231 of file CscRODReadOut.h.

231 {
233 Identifier moduleId = decodeAddress(address);
234 Identifier channelId = decodeAddress(address, moduleId);
235 return uint32_t(m_cscIdHelper->stripMax(channelId));
236}
Identifier decodeAddress(const uint32_t address) const
uint32_t fragmentToAddress(const uint32_t fragment) const

◆ numDPU()

uint32_t CscRODReadOut::numDPU ( ) const
inline

Definition at line 34 of file CscRODReadOut.h.

34{ return NUM_DPU; }
static const uint32_t NUM_DPU
MHz.

◆ numSamples()

uint32_t CscRODReadOut::numSamples ( ) const
inline

Definition at line 31 of file CscRODReadOut.h.

31{ return NUM_SAMPLES; }
static const uint32_t NUM_SAMPLES

◆ samplingRate()

uint32_t CscRODReadOut::samplingRate ( ) const
inline

Definition at line 33 of file CscRODReadOut.h.

33{ return RATE; }
static const uint32_t RATE

◆ set()

void CscRODReadOut::set ( const CscIdHelper * cscIdHelper)
inline

Definition at line 50 of file CscRODReadOut.h.

50{ m_cscIdHelper = cscIdHelper; }

◆ set32bits()

void CscRODReadOut::set32bits ( const uint16_t * v16,
uint32_t & v32 ) const
inlineprivate

Definition at line 129 of file CscRODReadOut.h.

129 {
130 uint32_t p = 0, v = 0;
131 uint16_t n = 2;
132 uint16_t pos[] = {16, 0};
133 for (uint16_t i = 0; i < n; i++) {
134 v = (uint32_t)(*(v16 + i));
135 p = (uint32_t)(*(pos + i));
136 v32 = v32 | (v << p);
137 }
138}

◆ setChamberBitVaue()

void CscRODReadOut::setChamberBitVaue ( uint32_t value)
inline

Definition at line 51 of file CscRODReadOut.h.

◆ setParams()

void CscRODReadOut::setParams ( double timeOffset,
double signalWidth )
inline

Definition at line 110 of file CscRODReadOut.h.

110 {
111 m_TIME_OFFSET = timeOffset;
112 m_SIGNAL_WIDTH = signalWidth;
113}

◆ signal()

double CscRODReadOut::signal ( double z) const
inlineprivate

Definition at line 246 of file CscRODReadOut.h.

246 {
247 double amplitude = (1.0 - z / (1 + m_NUMBER_OF_INTEGRATION)) * std::pow(z, m_NUMBER_OF_INTEGRATION) * exp(-z);
248 return amplitude;
249}
#define z

◆ signal_amplitude()

double CscRODReadOut::signal_amplitude ( double samplingTime) const
inline

Definition at line 239 of file CscRODReadOut.h.

239 {
240 if (samplingTime <= m_TIME_OFFSET) return 0.0;
241 double z = (samplingTime - m_TIME_OFFSET) / m_SIGNAL_WIDTH;
242 return signal(z) / m_norm;
243}

Member Data Documentation

◆ BODY_ADDRESS

const uint32_t CscRODReadOut::BODY_ADDRESS = 0x00000000
staticprivate

Definition at line 94 of file CscRODReadOut.h.

◆ BODY_AMPLITUDE

const uint16_t CscRODReadOut::BODY_AMPLITUDE = 0x0000
staticprivate

Definition at line 93 of file CscRODReadOut.h.

◆ DPU_DISCARD

const uint32_t CscRODReadOut::DPU_DISCARD = 0xFFFFFFFF
staticprivate

Definition at line 104 of file CscRODReadOut.h.

◆ DPU_HEADER_MARKER

const uint32_t CscRODReadOut::DPU_HEADER_MARKER = 0xC5F38856
staticprivate

Definition at line 101 of file CscRODReadOut.h.

◆ DPU_HEADER_SIZE

const uint32_t CscRODReadOut::DPU_HEADER_SIZE = 13
staticprivate

Definition at line 102 of file CscRODReadOut.h.

◆ LATENCY

const uint32_t CscRODReadOut::LATENCY = 0
staticprivate

Definition at line 97 of file CscRODReadOut.h.

◆ m_chamberBitValue

uint32_t CscRODReadOut::m_chamberBitValue
private

Definition at line 77 of file CscRODReadOut.h.

◆ m_CHARGE_TO_ADC_COUNT

double CscRODReadOut::m_CHARGE_TO_ADC_COUNT
private

Definition at line 83 of file CscRODReadOut.h.

◆ m_cscIdHelper

const CscIdHelper* CscRODReadOut::m_cscIdHelper
private

Definition at line 76 of file CscRODReadOut.h.

◆ m_norm

double CscRODReadOut::m_norm
private

Definition at line 78 of file CscRODReadOut.h.

◆ m_NUMBER_OF_INTEGRATION

int CscRODReadOut::m_NUMBER_OF_INTEGRATION
private

Definition at line 82 of file CscRODReadOut.h.

◆ m_SIGNAL_WIDTH

double CscRODReadOut::m_SIGNAL_WIDTH
private

Definition at line 81 of file CscRODReadOut.h.

◆ m_TIME_OFFSET

double CscRODReadOut::m_TIME_OFFSET
private

Definition at line 80 of file CscRODReadOut.h.

◆ m_Z0

double CscRODReadOut::m_Z0
private

Definition at line 84 of file CscRODReadOut.h.

◆ MODULE_TYPE

const uint16_t CscRODReadOut::MODULE_TYPE = 0x00
staticprivate

Definition at line 91 of file CscRODReadOut.h.

◆ NUM_DPU

const uint32_t CscRODReadOut::NUM_DPU = 12
staticprivate

MHz.

Definition at line 99 of file CscRODReadOut.h.

◆ NUM_SAMPLES

const uint32_t CscRODReadOut::NUM_SAMPLES = 25
staticprivate

Definition at line 96 of file CscRODReadOut.h.

◆ RATE

const uint32_t CscRODReadOut::RATE = 40
staticprivate

Definition at line 98 of file CscRODReadOut.h.

◆ ROD_FOOTER_SIZE

const uint32_t CscRODReadOut::ROD_FOOTER_SIZE = 0x0
staticprivate

Definition at line 88 of file CscRODReadOut.h.

◆ ROD_HEADER_SIZE

const uint32_t CscRODReadOut::ROD_HEADER_SIZE = 12
staticprivate

Definition at line 86 of file CscRODReadOut.h.

◆ SOURCE_ID

const uint16_t CscRODReadOut::SOURCE_ID = 0x00
staticprivate

Definition at line 90 of file CscRODReadOut.h.


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