1 #ifndef __JDYNAMICS__JDYNAMICS__ 
    2 #define __JDYNAMICS__JDYNAMICS__ 
   45 namespace JDYNAMICS {}
 
   46 namespace JPP { 
using namespace JDYNAMICS; }
 
  115       void set(
const double t0_s)
 
  117         const double Tmax_s = 0.5 * (getUpperLimit() - getLowerLimit());
 
  119         setRange(t0_s - Tmax_s, t0_s + Tmax_s);
 
  131         NUMBER_OF_POINTS  = 20,    
 
  132         NUMBER_OF_DEGREES =  1     
 
  155                    const double     Tmax_s) :
 
  168           for (JDetector::const_iterator module = detector.begin(); module != detector.end(); ++module) {
 
  169             if (module->getFloor() != 0) {
 
  194           if (buffer.has(orientation->
id)) {
 
  226         for (JDetector::const_iterator module = detector.begin(); module != detector.end(); ++module) {
 
  233               if (
calibration[module->getID()].getXmin() <= t1_s && 
 
  242           return (
double) n1 / (double) n0;
 
  262           if (!in_range(t1_s)) {
 
  264             for (JDetector::iterator module = detector.begin(); module != detector.end(); ++module) {
 
  266               if (module->getFloor() != 0 && !module->has(
COMPASS_DISABLE) && 
calibration.has(module->getID()) && buffer.has(module->getID())) {
 
  272                   if (t1_s >= f1.getXmin() && t1_s <= f1.getXmax()) {
 
  285                     buffer[module->getID()] = Q1;
 
  313         NUMBER_OF_POINTS  = 7,    
 
  314         NUMBER_OF_DEGREES = 2     
 
  337                 const double     Tmax_s) :
 
  363           for (JACOUSTICS::JEvt::const_iterator 
i = evt->begin(); 
i != evt->end(); ++
i) {
 
  396         for (JDetector::const_iterator module = detector.begin(); module != detector.end(); ++module) {
 
  397           if (module->getFloor() != 0) {
 
  398             string.insert(module->getString());
 
  415           return (
double) n1 / (double) n0;
 
  446           if (!in_range(t1_s)) {
 
  450             for (JDetector::iterator module = detector.begin(); module != detector.end(); ++module) {
 
  452               if (module->getFloor() != 0) {
 
  454                 if (!buffer.
has(module->getString())) {
 
  461                       if (t1_s >= f1.getXmin() && t1_s <= f1.getXmax()) {
 
  462                         buffer[module->getString()] = 
f1(t1_s);
 
  468                 if (buffer.
has(module->getString())) {
 
  469                   module->set(geometry[module->getString()].getPosition(buffer[module->getString()], module->getFloor())  -  
getPiezoPosition());
 
  496               const double     Tmax_s) :
 
  500       position   (detector, Tmax_s)
 
  513       return static_cast<const JDetector&
>(*this);
 
  522     template<
class JObjectIterator_t>
 
  523     void load(JObjectIterator_t& input)
 
  540       bool is_updated = 
false;
 
  542       if (!in_range(t1_s)) {
 
  546         if (
orientation.update(static_cast<JDetector&>(*
this), t1_s)) { range.
join(
orientation.getUTCTimeRange()); is_updated = 
true; }
 
  547         if (position   .update(static_cast<JDetector&>(*
this), t1_s)) { range.
join(position   .
getUTCTimeRange()); is_updated = 
true; }
 
  550           setUTCTimeRange(range);
 
  587       return { 
orientation.getCoverage(*
this, t1_s), position.getCoverage(*
this, t1_s) };
 
  610       return getCoverage(0.5 * (getLowerLimit() + getUpperLimit()));
 
JTOOLS::JElement2D< double, JACOUSTICS::JMODEL::JString > element_type
void set(const double t0_s)
Set. 
JDAQUTCTimeRange getUTCTimeRange()
Get UTC time range. 
bool hasDetectorBuilder(const int id)
Check if detector builder is available. 
JDAQUTCExtended getTimesliceStart() const 
Get start of timeslice. 
const_reverse_iterator rend() const 
begin of reverse of calibration data 
The elements in a collection are sorted according to their abscissa values and a given distance opera...
coverage_type getCoverage(const JDAQChronometer &chronometer) const 
Get coverage at given time. 
coverage_type getCoverage(const double t1_s) const 
Get coverage at given time. 
Dynamic orientation calibration. 
Dynamic position calibration. 
double position
coverage of detector by available position calibration [0,1] 
const JDetector & getDetector() const 
Get actual detector. 
static JDetectorMechanics getMechanics
Function object to get string mechanics. 
JDynamics(const JDetector &detector, const double Tmax_s)
Constructor. 
JTOOLS::JHashMap< int, function_type > data_type
const_reverse_iterator rend() const 
begin of reverse of calibration data 
JQuaternion3D getQuaternion(const JQuaternion &Q)
Get quaternion. 
JTOOLS::JPolfitFunction1D< NUMBER_OF_POINTS, NUMBER_OF_DEGREES, element_type, JTOOLS::JCollection > function_type
function_type::collection_type::container_type container_type
General purpose class for hash map of unique elements. 
ROOT TTree parameter settings. 
JPosition position
position calibration 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message. 
const_reverse_iterator rbegin() const 
begin of reverse of calibration data 
JOrientation orientation
orientation calibration 
const_iterator begin() const 
begin of calibration data 
static JRotation getRotation
Function object to get rotation matrix to go from first to second module. 
const std::string & getVersion() const 
Get version. 
Interface of object iteration for a single data type. 
data_type::const_reverse_iterator const_reverse_iterator
Data structure for detector geometry and calibration. 
JTOOLS::JHashMap< int, JGEOMETRY3D::JQuaternion3D > buffer_type
JMODEL::JString getString(const JFit &fit)
Get model parameters of string. 
ROOT TTree parameter settings. 
const JGeometry & getGeometry() const 
Get detector geometry. 
const JQuaternion3D & getQuaternion() const 
Get quaternion. 
JACOUSTICS::JGeometry JGeometry
static const int COMPASS_DISABLE
Enable (disable) use of compass if this status bit is 0 (1);. 
double orientation
coverage of detector by available orientation calibration [0,1] 
Auxiliary data structure to pre-load auxiliary data in memory. 
void load(JObjectIterator_t &input)
Load calibration data. 
const_reverse_iterator rbegin() const 
begin of reverse of calibration data 
JUTCTracker(const double Tmax_s)
Constructor. 
const JPolynome f1(1.0, 2.0, 3.0)
Function. 
data_type::const_iterator const_iterator
double UNIXTimeStop
stop time 
uint32_t getUTCseconds() const 
Get major time. 
void load(JObjectIterator< JACOUSTICS::JEvt > &input)
Load calibration data. 
JVector3D & sub(const JVector3D &vector)
Subtract vector. 
const_iterator end() const 
end of calibration data 
virtual const pointer_type & next()=0
Get next element. 
Version with quaternion and time offset per module. 
JPosition(const JDetector &detector, const double Tmax_s)
Constructor. 
int getID() const 
Get identifier. 
coverage_type getCoverage() const 
Get actual coverage. 
virtual bool hasNext()=0
Check availability of next element. 
General purpose class for a collection of sorted elements. 
void load(const std::string &file_name)
Load mechanical model parameters from file. 
const JPosition3D & getPosition() const 
Get position. 
double getCoverage(const JDetector &detector, const double t1_s) const 
Get coverage. 
void load(JObjectIterator< JCOMPASS::JOrientation > &input)
Load calibration data. 
JPreloader(const int id)
Constructor. 
JTOOLS::JElement2D< double, JGEOMETRY3D::JQuaternion3D > element_type
Data structure for coverage of dynamic calibrations. 
static const JGetDetectorVersion getDetectorVersion
Function object to map detector version to numerical value. 
data_type::const_iterator const_iterator
bool update(JDetector &detector, const double t1_s)
Calibrate given detector at given UTC time. 
const_iterator end() const 
end of calibration data 
data_type::const_reverse_iterator const_reverse_iterator
bool update(const double t1_s)
Get detector calibrated at given time. 
Data structure for unit quaternion in three dimensions. 
bool update(const JDAQChronometer &chronometer)
Get detector calibrated at given time. 
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
Dynamic detector calibration. 
void setRange(double &xmin, double &xmax, const bool logx)
Set axis range. 
double UNIXTimeStart
start time 
Auxiliary class to define a range between two values. 
JPosition3D getPiezoPosition()
Get relative position of piezo in optical module. 
JTOOLS::JHashMap< int, function_type > data_type
const_iterator begin() const 
begin of calibration data 
JOrientation(const JDetector &detector, const double Tmax_s)
Constructor. 
bool update(JDetector &detector, const double t1_s)
Calibrate given detector at given UTC time. 
Data structure for position in three dimensions. 
Exception for accessing a value in a collection that is outside of its range. 
Compass event data types. 
JDetectorBuilder & getDetectorBuilder()
Get detector builder. 
double getCoverage(const JDetector &detector, const double t1_s) const 
Get coverage. 
Model for fit to acoutsics data. 
Auxiliary interface for building detector. 
JVector3D & add(const JVector3D &vector)
Add vector. 
JTOOLS::JPolfitFunction1D< NUMBER_OF_POINTS, NUMBER_OF_DEGREES, element_type, JTOOLS::JCollection > function_type
const JModule & getModule(const int id=-1, const JLocation &location=JLocation()) const 
Get module. 
Auxiliary data structure to track applicability period of calibration data. 
JQuaternion3D & conjugate()
Conjugate quaternion.