100     JParser<> zap(
"Example program to plot orientation data.");
 
  102     zap[
'f'] = 
make_field(inputFile,    
"output of JBallarat[.sh]");
 
  103     zap[
'n'] = 
make_field(numberOfEvents)                                    = JLimit::max();
 
  111   catch(
const exception &error) {
 
  112     FATAL(error.what() << endl);
 
  128     FATAL(
"No detector address map for detector identier " << 
detector.getID() << endl);
 
  136   STATUS(
"loading input from file(s) " << inputFile << 
"... " << flush);
 
  138   dynamics.load(inputFile);
 
  147     if (router.getModule(module->first).getFloor() != 0) {
 
  149       STATUS(
"Creating graphics for input data " << setw(10) << module->first << flush << 
'\r');
 
  161         z0.
put(i->getX(), getTwist(Q1 * Q0));
 
  171     if (router.getModule(module->first).getFloor() != 0 && module->second.size() > 1
u) {
 
  173       STATUS(
"Creating graphics for input data " << setw(10) << module->first << flush << 
'\r');
 
  175       TH1D* h1 = H1[module->first] = 
new TH1D(
MAKE_CSTRING(
"U[" << module->first << 
"].twist"), NULL, 500, -180.0, +180.0);
 
  182         h1->Fill(getTwist(Q1 * Q0.
conjugate()) * 180.0 / 
PI);
 
  192     STATUS(
"Creating graphics for compiled data " << setw(10) << module->first << flush << 
'\r');
 
  194     if (router.getModule(module->first).getFloor() != 0 && !module->second.empty()) {
 
  200       const Double_t 
xmin = module->second.getXmin();
 
  201       const Double_t 
xmax = module->second.getXmax();
 
  202       const Int_t    nx   = (Int_t) ((xmax - xmin) / Tmax_s);
 
  204       TH1D* h0 = H0[module->first] = 
new TH1D(
MAKE_CSTRING(
"H[" << module->first << 
"].twist"), NULL, nx, xmin, xmax);
 
  206       for (Int_t i = 1; i <= h0->GetXaxis()->GetNbins(); ++i) {
 
  208         const Double_t      
x = h0->GetXaxis()->GetBinCenter(i);
 
  211         h0->SetBinContent(i, getTwist(Q));
 
  217   const Double_t xmin = 
getUTCTimeRange(dynamics.orientation.begin(), dynamics.orientation.end()).getLowerLimit();
 
  218   const Double_t xmax = 
getUTCTimeRange(dynamics.orientation.begin(), dynamics.orientation.end()).getUpperLimit();
 
  219   const Int_t    nx   = (Int_t) ((xmax - xmin) / Tmax_s);
 
  223   for (Int_t i = 1; i <= X0->GetXaxis()->GetNbins(); ++i) {
 
  225     STATUS(
"Creating graphics for detector data " << 
FIXED(5,1) << (
double) (i * 100) / (
double) X0->GetXaxis()->GetNbins() << 
"%" << flush << 
'\r');
 
  227     dynamics.update(X0->GetXaxis()->GetBinCenter(i));
 
  229     for (JDetector::const_iterator module = dynamics.begin(); module != dynamics.end(); ++module) {
 
  231       if (module->getFloor() != 0) {
 
  233         TH1D* x0 = X0[module->getID()];
 
  237         x0->SetBinContent(i, getTwist(Q));
 
Utility class to parse command line options. 
 
JDAQUTCTimeRange getUTCTimeRange()
Get UTC time range. 
 
Q(UTCMax_s-UTCMin_s)-livetime_s
 
void put(const Double_t x, const Double_t y)
Put data. 
 
Data structure for graph data. 
 
Router for direct addressing of module data in detector data structure. 
 
bool hasDetectorAddressMap(const int id)
Check if detector address map is available. 
 
static JRotation getRotation
Function object to get rotation matrix to go from first to second module. 
 
#define MAKE_CSTRING(A)
Make C-string. 
 
Lookup table for PMT addresses in detector. 
 
Auxiliary data structure for floating point format specification. 
 
Auxiliary data structure to build TGraph. 
 
const JQuaternion3D & getQuaternion() const 
Get quaternion. 
 
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...
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
static const double PI
Mathematical constants. 
 
JDetectorAddressMap & getDetectorAddressMap()
Get detector address map. 
 
data_type::const_iterator const_iterator
 
Data structure for unit quaternion in three dimensions. 
 
Dynamic detector calibration. 
 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file. 
 
General purpose class for object reading from a list of file names. 
 
const JLimit & getLimit() const 
Get limit. 
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number 
 
JQuaternion3D & conjugate()
Conjugate quaternion.