1 |
/** @file |
/** @file |
2 |
* $Source: /repository/PamOffLineSW/physics/AnticounterReader.cpp,v $ |
* $Source: /afs/ba.infn.it/user/pamela/src/CVS/chewbacca/PamOffLineSW/physics/AnticounterReader.cpp,v $ |
3 |
* $Id: AnticounterReader.cpp,v 1.5 2008-03-05 16:52:00 messineo Exp $ |
* $Id: AnticounterReader.cpp,v 1.2 2008/09/26 19:51:43 mocchiut Exp $ |
4 |
* $Author: messineo $ |
* $Author: mocchiut $ |
5 |
* |
* |
6 |
* Implementation of the AnticounterReader class. |
* Implementation of the AnticounterReader class. |
7 |
*/ |
*/ |
31 |
*/ |
*/ |
32 |
std::string AnticounterReader::GetVersionInfo(void) const { |
std::string AnticounterReader::GetVersionInfo(void) const { |
33 |
return |
return |
34 |
"$Header: /repository/PamOffLineSW/physics/AnticounterReader.cpp,v 1.5 2008-03-05 16:52:00 messineo Exp $"; |
"$Header: /afs/ba.infn.it/user/pamela/src/CVS/chewbacca/PamOffLineSW/physics/AnticounterReader.cpp,v 1.2 2008/09/26 19:51:43 mocchiut Exp $"; |
35 |
} |
} |
36 |
|
|
37 |
/** |
/** |
58 |
|
|
59 |
char *data = new char[length]; |
char *data = new char[length]; |
60 |
memcpy(data, subData, length); |
memcpy(data, subData, length); |
61 |
struct physicsstruct output[2] = {0}; |
struct physicsstruct output[2];// = {{0},{0}}; |
62 |
|
|
63 |
//Call to the routine that unpack anitocounter events |
//Call to the routine that unpack anitocounter events |
64 |
//anticounter->ERROR = ACphysics(length, (unsigned char*) data, &(*output)); |
//anticounter->ERROR = ACphysics(length, (unsigned char*) data, &(*output)); |
65 |
anticounter->unpackError = ACphysics(length, (unsigned char*) data, output); |
anticounter->unpackError = ACphysics(length, (unsigned char*) data, output); |
66 |
|
|
67 |
oss.str(""); |
oss.str(""); |
68 |
switch (anticounter->unpackError){ |
UInt_t uerr = anticounter->unpackError; |
69 |
|
switch (uerr){ |
70 |
case 0xFF: |
case 0xFF: |
71 |
oss << "Anticounter unpacking: " << "data (physics or calibration) from both cards found"; |
// oss << "Anticounter unpacking: " << "data (physics or calibration) from both cards found"; |
72 |
//msg=oss.str(); |
//msg=oss.str(); |
73 |
//PamOffLineSW::mainLogUtil->logAll(msg); |
//PamOffLineSW::mainLogUtil->logAll(msg); |
74 |
break; |
anticounter->unpackError = 0; |
75 |
|
break; |
76 |
case 0xF0: |
case 0xF0: |
77 |
oss << "Anticounter unpacking: " << "only data from main card found"; |
oss << "Anticounter unpacking: " << "only data from main card found"; |
78 |
msg=oss.str(); |
msg=oss.str(); |
79 |
PamOffLineSW::mainLogUtil->logError(msg); |
PamOffLineSW::mainLogUtil->logError(msg); |
80 |
break; |
break; |
81 |
case 0x0F: |
case 0x0F: |
82 |
oss << "Anticounter unpacking: " << "only data from extra card found"; |
oss << "Anticounter unpacking: " << "only data from extra card found"; |
83 |
msg=oss.str(); |
msg=oss.str(); |
84 |
PamOffLineSW::mainLogUtil->logError(msg); |
PamOffLineSW::mainLogUtil->logError(msg); |
85 |
break; |
break; |
86 |
case 0x00: |
case 0x00: |
87 |
oss << "Anticounter unpacking: " << "no data found"; |
oss << "Anticounter unpacking: " << "no data found"; |
88 |
msg=oss.str(); |
msg=oss.str(); |
89 |
PamOffLineSW::mainLogUtil->logError(msg); |
PamOffLineSW::mainLogUtil->logError(msg); |
90 |
break; |
anticounter->unpackError = 0xFF; |
91 |
oss << "Anticounter unpacking: " << "ANTICOUNTER ERRROR CODE UNIDENTIFIED"; |
break; |
92 |
msg=oss.str(); |
oss << "Anticounter unpacking: " << "ANTICOUNTER ERRROR CODE UNIDENTIFIED"; |
93 |
PamOffLineSW::mainLogUtil->logError(msg); |
msg=oss.str(); |
94 |
|
PamOffLineSW::mainLogUtil->logError(msg); |
95 |
} |
} |
96 |
|
|
97 |
|
|