11 #ifndef SVD_TRANSPARENT_DIGIT_H
12 #define SVD_TRANSPARENT_DIGIT_H
17 #include <vxd/dataobjects/VxdID.h>
19 #include <framework/datastore/RelationsObject.h>
49 const unsigned short fadcID,
50 const unsigned short apvID,
51 const unsigned short nSample = 0,
52 const short** adc = NULL,
53 const short* cmc1 = NULL,
54 const short* cmc2 = NULL,
55 const short** corradc = NULL,
56 const short** fine_cmc1 = NULL,
57 const short** fine_cmc2 = NULL,
58 const short** fine_corradc = NULL)
63 for (
int channel = 0; channel < 128; channel++) {
65 for (
int index = 0; index < 6; index++) {
66 m_ADC[channel][index] = adc[channel][index];
75 for (
int index = 0; index < 6; index++) {
76 m_cmc1[index] = cmc1[index];
84 for (
int index = 0; index < 6; index++) {
85 m_cmc2[index] = cmc2[index];
91 if (corradc != NULL) {
92 for (
int channel = 0; channel < 128; channel++) {
94 for (
int index = 0; index < 6; index++) {
95 m_corrADC[channel][index] = corradc[channel][index];
102 if (fine_cmc1 != NULL) {
103 for (
int channel = 0; channel < 128; channel++) {
105 for (
int index = 0; index < 6; index++) {
106 m_fine_cmc1[channel][index] = fine_cmc1[channel][index];
113 if (fine_cmc2 != NULL) {
114 for (
int channel = 0; channel < 128; channel++) {
116 for (
int index = 0; index < 6; index++) {
117 m_fine_cmc2[channel][index] = fine_cmc2[channel][index];
124 if (fine_corradc != NULL) {
125 for (
int channel = 0; channel < 128; channel++) {
127 for (
int index = 0; index < 6; index++) {
170 const short*
getADC(
short channel)
const
172 if (channel < 0 || 128 <= channel)
return NULL;
179 short getADC(
short channel,
short index)
const
182 if (index < 0 || 6 <= index)
return -9999;
183 if (channel < 0 || 128 <= channel)
return -9999;
184 return m_ADC[channel][index];
195 short getCMC1(
short index)
const
197 if (index < 0 || 6 <= index)
return -9999;
208 short getCMC2(
short index)
const
210 if (index < 0 || 6 <= index)
return -9999;
221 short getCMC(
short index)
const
223 if (index < 0 || 6 <= index)
return -9999;
224 return m_cmc[index] ;
232 if (channel < 0 || 128 <= channel)
return NULL;
241 if (index < 0 || 6 <= index)
return -9999;
242 if (channel < 0 || 128 <= channel)
return -9999;
250 if (channel < 0 || 128 <= channel)
return NULL;
259 if (index < 0 || 6 <= index)
return -9999;
260 if (channel < 0 || 128 <= channel)
return -9999;
268 if (channel < 0 || 128 <= channel)
return NULL;
277 if (index < 0 || 6 <= index)
return -9999;
278 if (channel < 0 || 128 <= channel)
return -9999;
287 if (channel < 0 || 128 <= channel)
return NULL;
296 if (index < 0 || 6 <= index)
return -9999;
297 if (channel < 0 || 128 <= channel)
return -9999;
306 if (channel < 0 || 128 <= channel)
return NULL;
315 if (index < 0 || 6 <= index)
return -9999;
316 if (channel < 0 || 128 <= channel)
return -9999;
346 for (
int channel = 0; channel < 128; channel++) {
348 for (
int index = 0; index < 6; index++) {
349 m_ADC[channel][index] = adc[channel][index];
356 void setADC(
short* adc,
short channel)
360 for (
int index = 0; index < 6; index++) {
361 m_ADC[channel][index] = adc[index];
367 void setADC(
short adc,
short channel,
short index)
369 if (0 <= index && index < 6 && 0 <= channel && channel < 128)
370 m_ADC[channel][index] = adc;
377 for (
int index = 0; index < 6; index++) {
378 m_cmc1[index] = cmc1[index];
384 void setCMC1(
short cmc1,
int index)
386 if (0 <= index && index < 6)
m_cmc1[index] = cmc1;
393 for (
int index = 0; index < 6; index++) {
394 m_cmc2[index] = cmc2[index];
401 if (0 <= index && index < 6)
m_cmc2[index] = cmc2;
408 for (
int index = 0; index < 6; index++) {
409 m_cmc[index] = cmc[index];
416 if (0 <= index && index < 6)
m_cmc[index] = cmc;
423 if (fine_cmc1 != NULL) {
424 for (
int channel = 0; channel < 128; channel++) {
426 for (
int index = 0; index < 6; index++) {
427 m_fine_cmc1[channel][index] = fine_cmc1[channel][index];
436 if (fine_cmc1 != NULL) {
438 for (
int index = 0; index < 6; index++) {
445 void setFineCMC1(
short fine_cmc1,
short channel,
short index)
447 if (0 <= index && index < 6 && 0 <= channel && channel < 128)
455 if (fine_cmc2 != NULL) {
456 for (
int channel = 0; channel < 128; channel++) {
458 for (
int index = 0; index < 6; index++) {
459 m_fine_cmc2[channel][index] = fine_cmc2[channel][index];
468 if (fine_cmc2 != NULL) {
470 for (
int index = 0; index < 6; index++) {
477 void setFineCMC2(
short fine_cmc2,
short channel,
short index)
479 if (0 <= index && index < 6 && 0 <= channel && channel < 128)
487 if (fine_cmc != NULL) {
488 for (
int channel = 0; channel < 128; channel++) {
490 for (
int index = 0; index < 6; index++) {
491 m_fine_cmc[channel][index] = fine_cmc[channel][index];
498 void setFineCMC(
short* fine_cmc,
short channel)
500 if (fine_cmc != NULL) {
502 for (
int index = 0; index < 6; index++) {
509 void setFineCMC(
short fine_cmc,
short channel,
short index)
511 if (0 <= index && index < 6 && 0 <= channel && channel < 128)
519 if (corradc != NULL) {
520 for (
int channel = 0; channel < 128; channel++) {
522 for (
int index = 0; index < 6; index++) {
523 m_corrADC[channel][index] = corradc[channel][index];
530 void setCorrADC(
short* corradc,
short channel)
532 if (corradc != NULL) {
534 for (
int index = 0; index < 6; index++) {
535 m_corrADC[channel][index] = corradc[index];
541 void setCorrADC(
short corradc,
short channel,
short index)
543 if (0 <= index && index < 6 && 0 <= channel && channel < 128)
551 if (corradc != NULL) {
552 for (
int channel = 0; channel < 128; channel++) {
554 for (
int index = 0; index < 6; index++) {
564 if (corradc != NULL) {
566 for (
int index = 0; index < 6; index++) {
575 if (0 <= index && index < 6 && 0 <= channel && channel < 128)
590 std::ostringstream os;
592 os <<
"Sensor ID : " <<
m_sensorID <<
", (VXD ID: " <<
id <<
")" << std::endl;
593 os <<
"(layer: " << layer <<
", ladder: " << ladder
594 <<
", sensor: " << sensor <<
", segment: " << segment <<
")"
597 os <<
"Strip side : U" << std::endl;
599 os <<
"Strip side : V" << std::endl;