44 JParser<> zap(
"Auxiliary program to create TGraph2D from input file with ASCII data.");
53 catch(
const exception &error) {
54 FATAL(error.what() << endl);
64 const string gname = (title !=
"" ? title :
getFilename(*file_name));
66 ifstream
in(file_name->c_str());
68 while (
in.peek() ==
'#') {
69 in.ignore(numeric_limits<streamsize>::max(),
'\n');
72 Double_t x, y, z, ex, ey, ez;
81 for (
string buffer;
getline(
in,buffer); ) {
83 istringstream
is(buffer);
85 if (
is >> x) X .push_back(x);
86 if (
is >> y) Y .push_back(y);
87 if (
is >> z) Z .push_back(z);
88 if (
is >> ex) EX.push_back(ex);
89 if (
is >> ey) EY.push_back(ey);
90 if (
is >> ez) EZ.push_back(ez);
93 if (X.size() != Y.size() || X.size() != Z.size()) {
94 FATAL(
"Number of points " << X.size() <<
' ' << Y.size() <<
' ' << Z.size() << endl);
97 TGraph2D* graph = NULL;
101 graph =
new TGraph2D(X.size(), X.data(), Y.data(), Z.data());
105 if (X.size() != EX.size()) {
106 FATAL(
"Number of x points " << X.size() <<
' ' << EX.size() << endl);
111 EX.resize(X.size(), 0.0);
112 EY.resize(Y.size(), 0.0);
115 if (Y.size() != EY.size()) {
116 FATAL(
"Number of y points " << Y.size() <<
' ' << EY.size() << endl);
119 if (Z.size() != EZ.size()) {
120 FATAL(
"Number of z points " << Z.size() <<
' ' << EZ.size() << endl);
123 graph =
new TGraph2DErrors(X.size(), X.data(), Y.data(), Z.data(), EX.data(), EY.data(), EZ.data());
128 graph->SetName(gname.c_str());
132 DEBUG(
"TGraph " << graph->GetName() << endl);
Utility class to parse command line options.
void setLimits(TGraph &g1)
Set limits of TGraph.
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
then break fi done getCenter read X Y Z let X
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line.
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
std::string getFilename(const std::string &file_name)
Get file name part, i.e. part after last JEEP::PATHNAME_SEPARATOR if any.
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 source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in