10 #include <rawdata/dataobjects/RawPXD.h>
11 #include <rawdata/modules/MakeDumHSLBData.h>
15 #include <sys/types.h>
35 addParam(
"OutputFileName", m_out_fname,
"Name of an output file",
string(
"dumhslb.dat"));
39 MakeDumHSLBDataModule::~MakeDumHSLBDataModule()
43 void MakeDumHSLBDataModule::initialize()
45 B2INFO(
"MakeDumHSLBData: initialize() started.");
48 m_filefd = open(m_out_fname.c_str(), O_WRONLY | O_CREAT);
50 printf(
"Error : cannot open %s: %s\n", m_out_fname.c_str(), strerror(errno));
53 if (fstat(m_filefd, &statbuf) < 0) {
58 B2INFO(
"MakeDumHSLBData: initialize() done.");
62 void MakeDumHSLBDataModule::writeData(
RawCOPPER* raw_copper,
int i)
64 unsigned int eve_num = raw_copper->
GetEveNo(i);
65 unsigned int cpr_id = raw_copper->
GetNodeID(i);
66 for (
int j = 0 ; j < 4; j++) {
69 printf(
"===== Detector Buffer(FINESSE A) 0x%x words \n", raw_copper->
GetDetectorNwords(i, 0));
70 int header = 0xCAFEBABE;
72 if ((len = write(m_filefd, &header,
sizeof(
int))) !=
sizeof(
int)) {
73 perror(
"write error");
76 if ((len = write(m_filefd, &eve_num,
sizeof(
int))) !=
sizeof(
int)) {
77 perror(
"write error");
80 if ((len = write(m_filefd, &cpr_id,
sizeof(
int))) !=
sizeof(
int)) {
81 perror(
"write error");
84 if ((len = write(m_filefd, &nwords,
sizeof(
int))) !=
sizeof(
int)) {
85 perror(
"write error");
89 printf(
"hdr 0x%.8x eve %10u cprid 0x%.8x nwrods %d\n", header, eve_num, cpr_id, nwords);
94 void MakeDumHSLBDataModule::event()
98 B2INFO(
"MakeDumHSLBData: event() started.");
103 for (
int i = 0; i < rawcprarray.
getEntries(); i++) {
104 for (
int j = 0; j < rawcprarray[ i ]->GetNumEntries(); j++) {
105 printf(
"\n===== DataBlock(RawCOPPER): Block # %d ", i);
106 writeData(rawcprarray[ i ], j);
114 for (
int i = 0; i < raw_svdarray.
getEntries(); i++) {
115 for (
int j = 0; j < raw_svdarray[ i ]->GetNumEntries(); j++) {
116 printf(
"\n===== DataBlock(RawSVD) : Block # %d ", i);
117 writeData(raw_svdarray[ i ], j);
125 for (
int i = 0; i < raw_cdcarray.
getEntries(); i++) {
126 for (
int j = 0; j < raw_cdcarray[ i ]->GetNumEntries(); j++) {
127 printf(
"\n===== DataBlock(RawCDC) : Block # %d ", i);
128 writeData(raw_cdcarray[ i ], j);
136 for (
int i = 0; i < raw_pxdarray.
getEntries(); i++) {
137 printf(
"\n===== DataBlock(RawPXD) : Block # %d ", i);
138 printPXDEvent(raw_pxdarray[ i ]);
142 for (
int i = 0; i < raw_bpidarray.
getEntries(); i++) {
143 for (
int j = 0; j < raw_bpidarray[ i ]->GetNumEntries(); j++) {
144 printf(
"\n===== DataBlock(RawTOP) : Block # %d ", i);
145 writeData(raw_bpidarray[ i ], j);
150 for (
int i = 0; i < raw_epidarray.
getEntries(); i++) {
151 for (
int j = 0; j < raw_epidarray[ i ]->GetNumEntries(); j++) {
152 printf(
"\n===== DataBlock(RawARICH) : Block # %d ", i);
153 writeData(raw_epidarray[ i ], j);
158 for (
int i = 0; i < raw_klmarray.
getEntries(); i++) {
159 for (
int j = 0; j < raw_klmarray[ i ]->GetNumEntries(); j++) {
160 printf(
"\n===== DataBlock(RawKLM) : Block # %d ", i);
161 writeData(raw_klmarray[ i ], j);
166 for (
int i = 0; i < raw_eclarray.
getEntries(); i++) {
167 for (
int j = 0; j < raw_eclarray[ i ]->GetNumEntries(); j++) {
168 printf(
"\n===== DataBlock(RawECL) : Block # %d ", i);
169 writeData(raw_eclarray[ i ], j);
174 for (
int i = 0; i < raw_trgarray.
getEntries(); i++) {
175 for (
int j = 0; j < raw_trgarray[ i ]->GetNumEntries(); j++) {
176 printf(
"\n===== DataBlock(RawTRG) : Block # %d ", i);
177 writeData(raw_trgarray[ i ], j);