1 #ifndef __JCOMPASS__JBALLARAT__
2 #define __JCOMPASS__JBALLARAT__
25 namespace JPP {
using namespace JCOMPASS; }
50 typedef typename function_type::collection_type::container_type
container_type;
68 t0_s(std::numeric_limits<double>::lowest())
76 for (JDetector::iterator module = this->detector.begin(); module != this->detector.end(); ++module) {
96 t0_s = std::numeric_limits<double>::lowest();
119 for (JDetector::const_iterator module =
detector.begin(); module !=
detector.end(); ++module) {
136 double xmin = std::numeric_limits<double>::max();
139 if (!i->second.empty() && i->second.getXmin() < xmin) {
140 xmin = i->second.getXmin();
155 double xmax = std::numeric_limits<double>::lowest();
158 if (!i->second.empty() && i->second.getXmax() > xmax) {
159 xmax = i->second.getXmax();
188 for (JDetector::iterator module =
detector.begin(); module !=
detector.end(); ++module) {
196 if (t1_s >= f1.getXmin() && t1_s <= f1.getXmax()) {
202 module->setQuaternion(Q1);
const_iterator end() const
end of calibration data
JTOOLS::JElement2D< double, JGEOMETRY3D::JQuaternion3D > element_type
The elements in a collection are sorted according to their abscissa values and a given distance opera...
void load(JObjectIterator< JCOMPASS::JOrientation > &input)
Load calibration data.
data_type::const_iterator const_iterator
JQuaternion3D getQuaternion(const JQuaternion &Q)
Get quaternion.
General purpose class for hash map of unique elements.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
bool hasDetectorAddressMap(const int id)
Check if detector address map is available.
const JDetector & operator()(const double t1_s)
Get detector calibrated at given time.
static JRotation getRotation
Function object to get rotation matrix to go from first to second module.
const_reverse_iterator rend() const
begin of reverse of calibration data
Lookup table for PMT addresses in detector.
data_type::const_reverse_iterator const_reverse_iterator
Interface of object iteration for a single data type.
function_type::collection_type::container_type container_type
Data structure for detector geometry and calibration.
const JModuleAddressMap & get(const int id) const
Get module address map.
const JQuaternion3D & getQuaternion() const
Get quaternion.
virtual const pointer_type & next()=0
Get next element.
int getID() const
Get identifier.
virtual bool hasNext()=0
Check availability of next element.
JBallarat(const JDetector &detector, const double Tmax_s)
Constructor.
number of points for interpolation
General purpose class for a collection of sorted elements.
double getXmin() const
Get minimal abscissa.
JDetectorAddressMap & getDetectorAddressMap()
Get detector address map.
bool is_valid() const
Check validity of calibration.
Data structure for unit quaternion in three dimensions.
Dynamic orientation calibration.
JTOOLS::JPolfitFunction1D< NUMBER_OF_POINTS, NUMBER_OF_DEGREES, element_type, JTOOLS::JCollection > function_type
Exception for accessing a value in a collection that is outside of its range.
Compass event data types.
JTOOLS::JHashMap< int, function_type > data_type
const_reverse_iterator rbegin() const
begin of reverse of calibration data
const_iterator begin() const
begin of calibration data
number of degrees for interpolation
double getXmax() const
Get maximal abscissa.
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number
JQuaternion3D & conjugate()
Conjugate quaternion.