2 #include <sevt/SEvent.h>
3 #include <sevt/SortCriteria.h>
4 #include <sevt/PMTSimData.h>
6 #include <utl/ErrorLogger.h>
7 #include <utl/Branch.h>
8 #include <utl/TimeDistribution.h>
9 #include <utl/Particle.h>
10 #include <tst/Validatrix.h>
12 #include <fwk/CentralConfig.h>
16 #include <boost/range/iterator_range.hpp>
23 using namespace tst::Validatrix;
24 using namespace TankValidationNS;
41 ERROR(
"Event should have SEvent.");
45 const string newRefFile = fRefFile + string(
".new");
47 ofstream outFile(newRefFile);
50 const SEvent& sEvent =
event.GetSEvent();
54 for (
const PMT& pmt : boost::make_iterator_range(
s.PMTsBegin(),
s.PMTsEnd())) {
56 if (!pmt.HasSimData())
65 label <<
"Station_" <<
s.GetId() <<
"_PMT_" << pmt.GetId() <<
"_label_" << pe.GetLabel();
66 outFile <<
BeLabel(label.str()) <<
BeEqual(pe.GetTimeDistribution());
73 ifstream newFile(newRefFile);
74 ifstream oldFile(fRefFile);
81 TankValidation::Finish()
Branch GetTopBranch() const
StationIterator StationsEnd()
End of all stations.
class to hold data at PMT level
PETimeDistributionsIterator PETimeDistributionsBegin()
Begin iterator over PE time distribution sources.
Interface class to access to the SD part of an event.
void Init()
Initialise the registry.
Branch GetChild(const std::string &childName) const
Get child of this Branch by child name.
Class representing a document branch.
class to hold data at Station level
bool Compare(const string &oldFilename, const string &newFilename, const bool failOnFirst)
std::string BeLabel(const string &tag)
PETimeDistributionsIterator PETimeDistributionsEnd()
End iterator over PE time distribution sources.
void GetData(bool &b) const
Overloads of the GetData member template function.
std::string BeEqual(const T &value)
ResultFlag
Flag returned by module methods to the RunController.
StationIterator StationsBegin()
Beginning of all stations.
Class to hold simulated data at PMT level.
#define ERROR(message)
Macro for logging error messages.