40 fCurrentFile(nullptr),
41 fSpillBranch(nullptr),
43 fEventAuxBranch(nullptr),
47 fBeamlineEvents(nullptr),
105 mf::LogVerbatim(
"BeamlineRawInputDriver") <<
"Spill construction complete\n" 106 <<
"Spill starts at " 107 <<
static_cast<const void*
>(spillWrapper->
get())
108 <<
", can pass this pointer to the LariatFragment constructor\n" 109 <<
"Spill appears to be " << spillWrapper->
size() <<
" bytes\n";
111 const uint8_t* spillDataPtr(spillWrapper->
get());
114 << spillWrapper->
size()
115 <<
" bytes, starting at " 116 <<
static_cast<const void*
>(spillDataPtr);
119 LariatFragment* lariatFrag =
new LariatFragment((
char*)spillDataPtr, spillWrapper->
size());
128 unsigned int index) {
131 artdaq::Fragments* fragments =
getFragments(fragBranch, index);
133 if ((*fragments).size() > 1)
135 <<
"artdaq::Fragment SPILL vector contains more than one fragment.";
137 const artdaq::Fragment& fragment = fragments->at(0);
138 spillWrapper->
add(fragment);
140 if (!spillWrapper->
ready())
142 <<
"Spill construction failed; spill is incomplete." <<
std::endl;
145 LariatFragment* lariatFrag =
getSpillFrag(spillWrapper);
154 unsigned int index) {
158 std::vector<TDUFragment*> tduFrags;
160 artdaq::Fragments* fragments =
getFragments(tduBranch, index);
162 if ((*fragments).size() > 1)
164 <<
"artdaq::Fragment TDU vector contains more than one fragment.";
166 for (artdaq::Fragments::const_iterator fragIt = fragments->begin(); fragIt != fragments->end(); ++fragIt) {
168 artdaq::ContainerFragment cont_frag(*fragIt);
171 const artdaq::Fragment frag = *cont_frag[
block];
172 TDUFragment* tduFrag =
new TDUFragment(reinterpret_cast<const char*>(frag.dataBeginBytes()));
173 tduFrags.push_back(tduFrag);
206 <<
"Number of spills recorded in spill branch (" <<
fSpillBranch->GetEntries() <<
") " 207 <<
"does not match number of spills recorded in TDU branch (" <<
fTDUBranch->GetEntries() <<
")." 211 mf::LogVerbatim(
"BeamlineRawInputDriver::readFile") <<
"Number of spills in file: " 217 if (fileblock ==
nullptr) {
219 <<
"Unable to open file " << filename <<
"." <<
std::endl;
255 bool moreSpills =
true;
258 moreSpills = this->
makeSpill(inRun, inSubRun, outRun, outSubRun);
296 <<
"\n////////////////////////////////////\n" 299 <<
"////////////////////////////////////\n";
315 <<
"EXCEPTION CAUGHT: Ignore this spill, move on to next one." <<
std::endl;
373 mf::LogVerbatim(
"BeamlineRawInputDriver::makeEvent") <<
"Processing event " 382 std::vector<rawdata::RawBeamlineTrigger> trigger = beamlineEvent->
GetTrigger();
383 std::vector<rawdata::RawBeamlineDigit> tof = beamlineEvent->
GetToF();
384 std::vector<rawdata::RawBeamlineWC> wc = beamlineEvent->
GetWC();
385 std::vector<rawdata::RawBeamlineDigit> cherenkov = beamlineEvent->
GetCherenkov();
386 std::vector<rawdata::RawBeamlineDigit> muonstack = beamlineEvent->
GetMuonStack();
387 std::vector<rawdata::RawBeamlineDigit> paddledigit = beamlineEvent->
GetPaddleDigit();
388 std::vector<rawdata::RawBeamlineDigit> wcdigit = beamlineEvent->
GetWCDigit();
389 std::vector<rawdata::RawBeamlineDigit> otherdigit = beamlineEvent->
GetOtherDigit();
397 (std::make_unique<std::vector<rawdata::RawBeamlineDigit> >(tof), *outEvent,
fSourceName,
fToFName);
399 (std::make_unique<std::vector<rawdata::RawBeamlineWC> >(wc), *outEvent,
fSourceName,
fWCName);
MaybeLogger_< ELseverityLevel::ELsev_info, true > LogVerbatim
EventPrincipal * makeEventPrincipal(EventAuxiliary const &eventAux, std::shared_ptr< History > &&history) const
rawdata::RawBeamlineConfig GetConfig() const
std::enable_if_t< P::branch_type==InEvent||P::branch_type==InResults > put_product_in_principal(std::unique_ptr< T > &&product, P &principal, std::string const &module_label, std::string const &instance_name={})
std::vector< rawdata::RawBeamlineTrigger > GetTrigger() const
std::vector< rawdata::RawBeamlineDigit > GetCherenkov() const
std::vector< rawdata::RawBeamlineWC > GetWC() const
std::string const & eventTreeName()
unsigned int EventNumber() const
::xsd::cxx::tree::exception< char > exception
BeamlineEvent * GetNextEvent()
artdaq::Fragments * getFragments(TBranch *br, unsigned entry)
TypeLabel const & reconstitutes(std::string const &modLabel, std::string const &instanceName={})
std::vector< rawdata::RawBeamlineDigit > GetToF() const
const XML_Char const XML_Char * data
block
print "ROW IS " print row
T get(std::string const &key) const
std::vector< rawdata::RawBeamlineDigit > GetWCDigit() const
RunPrincipal * makeRunPrincipal(RunAuxiliary const &runAux) const
SubRunNumber_t subRun() const
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
SubRunNumber_t subRun() const
MaybeLogger_< ELseverityLevel::ELsev_warning, false > LogWarning
const uint8_t * get() const
std::vector< rawdata::RawBeamlineDigit > GetOtherDigit() const
SubRunPrincipal * makeSubRunPrincipal(SubRunAuxiliary const &subRunAux) const
std::vector< rawdata::RawBeamlineDigit > GetMuonStack() const
void add(const art::Event &evt, const art::InputTag &tag)
std::vector< rawdata::RawBeamlineDigit > GetPaddleDigit() const
unsigned int NumEvents() const