78 int main(
int argc, 
char **argv)
 
   91   transmitters_container  transmitters;                         
 
   97     JParser<> zap(
"Example program to monitor acoustic events.");
 
   99     zap[
'f'] = 
make_field(inputFile,       
"output of JAcousticEventBuilder[.sh]");
 
  100     zap[
'n'] = 
make_field(numberOfEvents)   = JLimit::max();
 
  110   catch(
const exception &error) {
 
  111     FATAL(error.what() << endl);
 
  128   for (JDetector::const_iterator i = 
detector.begin(); i != 
detector.end(); ++i) {
 
  129     receivers[i->getID()] = JModule_t(i->getLocation(), i->getPosition());
 
  132   for (tripods_container::const_iterator i = 
tripods.begin(); i != 
tripods.end(); ++i) {
 
  133     emitters[i->getID()]  = (i->getUTMPosition() - 
detector.getUTMPosition());
 
  136   for (transmitters_container::const_iterator i = transmitters.begin(); i != transmitters.end(); ++i) {
 
  138       emitters[i->getID()]  = (i->getPosition() + 
detector.getModule(i->getLocation()).
getPosition());
 
  140     catch(
const exception&) {
 
  157                                   string.size(),              -0.5, 
string.size()         - 0.5, 
 
  160   for (Int_t i = 1; i <= H2->GetXaxis()->GetNbins(); ++i) {
 
  161     H2->GetXaxis()->SetBinLabel(i, 
MAKE_CSTRING(
string.at(i-1)));
 
  164   for (Int_t i = 1; i <= H2->GetYaxis()->GetNbins(); ++i) {
 
  181     for (JTreeScanner_t::iterator event = in.begin(); 
event != in.end() && counter != inputFile.getLimit(); ++event, ++counter) {
 
  183       if (counter%1000 == 0) {
 
  184         STATUS(
"event " << setw(8) << counter << 
'\r'); 
DEBUG(endl);
 
  187       const JEvent evt = *event;
 
  191       for (JEvent::const_iterator i = evt.begin(); i != evt.end(); ++i) {
 
  195       HA[evt.
getID()]->Fill((
double) evt.size());
 
  199         HC[evt.
getID()]->Fill(
log10(evt.begin()->getToE() - toe[evt.
getID()]));
 
  205       toe[evt.
getID()] = evt.begin()->getToE();
 
  207       TH1D* hq = HQ[evt.
getID()];
 
  208       TH2D* hr = HR[evt.
getID()];
 
  209       TH1D* h1 = H1[evt.
getID()];
 
  210       TH2D* h2 = H2[evt.
getID()];
 
  211       TH2D* h3 = H3[evt.
getID()];
 
  213       for (JEvent::const_iterator i = evt.begin(); i != evt.end(); ++i) {
 
  214         hq->Fill(
log10(i->getQ()));
 
  217       if (emitters.has(evt.
getID())) {
 
  221         for (JEvent::const_iterator i = evt.begin(); i != evt.end(); ++i) {
 
  222           if (receivers.has(i->getID())) {
 
  231       for (JEvent::const_iterator i = evt.begin(); i != evt.end(); ++i) {
 
  232         buffer[i->getID()].insert(i->getQ());
 
  235       for (
map<
int, 
set<double> >::const_iterator i = buffer.begin(); i != buffer.end(); ++i) {
 
  237         h1->Fill((
double) i->second.size());
 
  239         if (receivers.has(i->first)) {
 
  241           const JLocation& location = receivers[i->first];
 
  245           if (i->second.size() >= 2
u) {
 
  257   out << HA << HB << HC << HD << HE << HQ << HR << *HR << H1 << H2 << H3;
 
Utility class to parse command line options. 
 
int getOverlays() const 
Get overlays. 
 
Q(UTCMax_s-UTCMin_s)-livetime_s
 
int main(int argc, char *argv[])
 
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member. 
 
int getFloor() const 
Get floor number. 
 
General purpose class for hash map of unique elements. 
 
ROOT TTree parameter settings. 
 
#define MAKE_CSTRING(A)
Make C-string. 
 
General purpose class for a hash collection of unique elements. 
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
Long64_t counter_type
Type definition for counter. 
 
Dynamic ROOT object management. 
 
double getDistance(const JVector3D &pos) const 
Get distance to point. 
 
Template definition for direct access of elements in ROOT TChain. 
 
Data structure for detector geometry and calibration. 
 
Auxiliary class for defining the range of iterations of objects. 
 
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys...
 
I/O formatting auxiliaries. 
 
Data structure for transmitter. 
 
Logical location of module. 
 
Auxiliary wrapper for I/O of container with optional comment (see JComment). 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
set_variable E_E log10(E_{fit}/E_{#mu})"
 
const array_type< JValue_t > & make_array(const JValue_t(&array)[N])
Method to create array of values. 
 
JPosition3D getPosition(const Vec &pos)
Get position. 
 
void Write(TDirectory &out, const bool wm=false)
Write objects to file. 
 
int getIndex()
Get index for user I/O manipulation. 
 
General purpose messaging. 
 
Scanning of objects from multiple files according a format that follows from the extension of each fi...
 
Base class for JTreeScanner. 
 
int getString() const 
Get string number. 
 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file. 
 
Auxiliary class to define a range between two values. 
 
Utility class to parse command line options. 
 
const JLimit & getLimit() const 
Get limit. 
 
Data structure for position in three dimensions. 
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
int getID() const 
Get identifier. 
 
Data structure for tripod. 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
 
#define DEBUG(A)
Message macros.