43  struct JK40DefaultSimulator_t :
 
   49    JK40DefaultSimulator_t() :
 
   62    friend inline std::istream& 
operator>>(std::istream& in, JK40DefaultSimulator_t& 
object)
 
   94int main(
int argc, 
char **argv)
 
  100  Long64_t               numberOfEvents;
 
  102  JK40DefaultSimulator_t k40Simulator;
 
  109    JParser<> zap(
"Example program to test hit coincidence building with random data.");
 
  121  catch(
const exception &error) {
 
  122    FATAL(error.what() << endl);
 
  125  gRandom->SetSeed(seed);
 
  132  detector.push_back(getModule<JKM3NeT_t>(1001));
 
  138  simbad.
reset(k40Simulator.clone());
 
  143  TProfile hn(
"hn", NULL, 31,  0.5,  +31.5);
 
  144  TProfile hc(
"hc", NULL, 21, -1.05, +1.05);
 
  145  TProfile ht(
"ht", NULL, 20,  0.5,  +20.5);
 
  151  typedef vector       <hit_type>   JFrameL1_t;
 
  153  typedef JBuildL1     <hit_type>   JBuildL1_t;
 
  157  JSuperFrame2D_t  buffer;
 
  160  for (
int event_count = 0; event_count < numberOfEvents; ++event_count) {
 
  162    STATUS(
"event: " << setw(10) << event_count << 
'\r'); 
DEBUG(endl);
 
  164    const int frame_index = 1;
 
  170    for (JDAQTimeslice::const_iterator super_frame = timeslice.begin(); super_frame != timeslice.end(); ++super_frame) {
 
  172      if (moduleRouter.
hasModule(super_frame->getModuleID())) {
 
  178        buffer(*super_frame, module);
 
  182        buildL1(buffer, back_inserter(dataL1));
 
  185        if (!dataL1.empty()) {
 
  189          JFrameL1_t d1(dataL1);
 
  192          for (
int i = 1; i <= hn.GetNbinsX(); ++i) {
 
  198            buildL2(buffer, d1, back_inserter(d2));
 
  200            hn.Fill((
double) buildL2.
numberOfHits, (
double) d2.size() / (
double) dataL1.size());
 
  207        if (!dataL1.empty()) {
 
  211          JFrameL1_t d1(dataL1);
 
  214          for (
int i = 1; i <= hc.GetNbinsX(); ++i) {
 
  216            buildL2.
ctMin = hc.GetBinCenter(i);
 
  220            buildL2(buffer, d1, back_inserter(d2));
 
  222            hc.Fill(buildL2.
ctMin, (
double) d2.size() / (
double) dataL1.size());
 
  229        if (!dataL1.empty()) {
 
  233          JFrameL1_t d1(dataL1);
 
  236          for (
int i = ht.GetNbinsX(); i != 0; --i) {
 
  242            buildL2(buffer, d1, back_inserter(d2));
 
  244            ht.Fill(buildL2.
TMaxLocal_ns, (
double) d2.size() / (
double) dataL1.size());
 
 
Data structure for detector geometry and calibration.
 
Basic data structure for L0 hit.
 
Basic data structure for L1 hit.
 
General purpose messaging.
 
#define DEBUG(A)
Message macros.
 
Direct access to module in detector data structure.
 
Utility class to parse command line options.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
int main(int argc, char **argv)
 
Basic data structure for time and time over threshold information of hit.
 
void reset(JK40Simulator *k40Simulator)
Reset K40 simulator.
 
Default implementation of the simulation of K40 background.
 
Router for direct addressing of module data in detector data structure.
 
bool hasModule(const JObjectID &id) const
Has module.
 
const JModuleAddress & getAddress(const JObjectID &id) const
Get address of module.
 
Data structure for a composite optical module.
 
Auxiliary class for map of PMT parameters.
 
Utility class to parse command line options.
 
2-dimensional frame with time calibrated data from one optical module.
 
Data structure for UTC time.
 
T & getInstance(const T &object)
Get static instance from temporary object.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
KM3NeT DAQ data structures and auxiliaries.
 
double getTimeOfFrame(const int frame_index)
Get start time of frame in ns since start of run for a given frame index.
 
JReader & operator>>(JReader &in, JDAQChronometer &chronometer)
Read DAQ chronometer from input.
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
Auxiliary data structure for L1 build parameters.
 
Data structure for L2 parameters.
 
double ctMin
minimal cosine space angle between PMT axes
 
double TMaxLocal_ns
maximal time difference [ns]
 
int numberOfHits
minimal number of hits
 
Timeslice with random data.