11#include "TApplication.h"
15#include "TRootCanvas.h"
58 JPoint_t(
const std::string& title,
59 const JPosition2D& pos,
60 const TAttMarker& marker,
62 const double offset) :
64 offset(offset * cos(
text.GetTextAngle()),
65 offset * sin(
text.GetTextAngle()))
67 static_cast<TAttMarker&
>(this->marker) = marker;
68 static_cast<TAttText&
> (this->text) = text;
70 this->text.SetTitle(title.c_str());
71 this->text.SetTextAngle(0.0);
72 this->text.SetTextColor(marker.GetMarkerColor());
81 void add(
const double x,
const double y)
83 static_cast<JPosition2D&
>(*this).add(JPosition2D(x,y));
94 void sub(
const double x,
const double y)
96 static_cast<JPosition2D&
>(*this).sub(JPosition2D(x,y));
115 this->marker.SetX(this->getX());
116 this->marker.SetY(this->getY());
117 this->text .SetX(this->getX() + offset.getX());
118 this->text .SetY(this->getY() + offset.getY());
141 void add(
const double x,
const double y)
143 for (iterator i = begin(); i != end(); ++i) {
154 void sub(
const double x,
const double y)
156 for (iterator i = begin(); i != end(); ++i) {
166 for (iterator i = begin(); i != end(); ++i) {
206 properties[
"focus"] =
focus;
208 JParser<> zap(
"Auxiliary program to draw the footprint of detector(s).");
226 catch(
const exception &error) {
244 ((
TRootCanvas *) cv->GetCanvasImp())->
Connect(
"CloseWindow()",
"TApplication", tp,
"Terminate()");
249 gROOT->SetStyle(
"gplot");
252 cv->SetFillStyle(4000);
257 JMarkerAttributes::getInstance().setMarkerSize(
markerSize);
281 position =
detector.getUTMPosition();
283 const TAttMarker& marker = *JMarkerAttributes::getInstance().next();
295 if (
module->getFloor() == 0) {
303 counter.insert(
module->getString());
309 const bool status = (counter.count(
module->getString()) == 0);
319 counter.insert(
module->getString());
330 const TAttMarker& marker = *JMarkerAttributes::getInstance().next();
338 for (tripods_container::iterator i = tripods.begin(); i != tripods.end(); ++i) {
362 const TAttMarker& marker = *JMarkerAttributes::getInstance().next();
370 for (transmitters_container::iterator i = transmitters.begin(); i != transmitters.end(); ++i) {
384 FATAL(
"Tranmitter files and detector files should match one-to-one." <<
endl);
391 copy(i->second.begin(), i->second.end(),
back_inserter(buffer));
396 if (
focus.getRadius() > 0.0) {
422 h2.GetXaxis()->SetTitle(
"x [m]");
423 h2.GetYaxis()->SetTitle(
"y [m]");
425 h2.GetXaxis()->CenterTitle(
true);
426 h2.GetYaxis()->CenterTitle(
true);
444 Ssiz_t height = data.size();
448 width = max(width, (
Ssiz_t) i->first.size());
456 if (!i->second.empty()) {
457 lg->AddEntry(&i->second[0].marker, i->first.c_str(),
"P");
Data structure for detector geometry and calibration.
int main(int argc, char **argv)
General purpose messaging.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
#define MAKE_STRING(A)
Make string.
Utility class to parse parameter values.
Data structure for transmitter.
Data structure for tripod.
Utility class to parse parameter values.
Data structure for circle in two dimensions.
double getRadius() const
Get radius.
Data structure for position in two dimensions.
Data structure for position in three dimensions.
double getY() const
Get y position.
double getX() const
Get x position.
Template definition of a multi-dimensional oscillation probability interpolation table.
Utility class to parse command line options.
Data structure for size of TCanvas.
Wrapper class around ROOT TStyle.
Data structure for UTM position.
double getUTMNorth() const
Get UTM north.
double getUTMEast() const
Get UTM east.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
void load(const char *file_name)
Load from input file.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
JProperties getProperties()
Get properties of this class.