1 #ifndef __JDETECTOR__JMODULEMAPPER__
2 #define __JDETECTOR__JMODULEMAPPER__
35 template<
class JAttributes_t>
38 JAttributes_t& attributes);
66 template<
class JAttributes_t>
81 static JAttributes_t attributes;
161 template<
class JAttributes_t = JNullType>
212 template<
class JMatch_t>
231 template<
class JMatch_t>
261 template<
class JMatch_t>
266 zmap.resize(detector.size());
272 for (
int i = 0; i != (int) detector.size(); ++i) {
273 for (
int j = i; ++
j != (int) detector.size(); ) {
274 if (match(detector[i], detector[
j])) {
Data structure for detector geometry and calibration.
Direct access to module in detector data structure.
Address of module in detector data structure.
int first
index of module in detector data structure
Mapper for directly addressing of associated modules in the detector data structure.
JModuleMapper(const JDetector &detector, JMatch_t match)
Constructor.
std::vector< container_type > zmap
JModuleAttributes< JAttributes_t > moduleattributes_type
Type definition of module data.
std::vector< moduleattributes_type > container_type
Type definition of a list with module data.
JModuleMapper(const JModuleRouter &router)
Constructor.
const container_type & getList(const JObjectID &id) const
Get list with module data matching given module.
JModuleMapper(const JDetector &detector)
Constructor.
JModuleMapper(const JModuleRouter &router, JMatch_t match)
Constructor.
void configure(JMatch_t match)
Configure this module mapper.
Router for direct addressing of module data in detector data structure.
const JModuleAddress & getAddress(const JObjectID &id) const
Get address of module.
JTOOLS::JRouter< JModuleAddress > router
Data structure for a composite optical module.
const JPosition3D & getPosition() const
Get position.
Auxiliary class for object identification.
const JClass_t & getReference() const
Get reference to object.
file Auxiliary data structures and methods for detector calibration.
void setAttributes< JNullType >(const JModule &first, const JModule &second, JNullType &attributes)
Template specialisation to set no attributes for the default empty object.
void setAttributes(const JModule &first, const JModule &second, JAttributes_t &attributes)
Template method to set module attributes.
double getDistance(const JFirst_t &first, const JSecond_t &second)
Get distance between objects.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary class to match modules according maximal distance.
double getDmax() const
Get maximal distance.
JMaximalDistance(const double Dmax_m)
Constructor.
bool operator()(const JModule &first, const JModule &second) const
Test whether two module match.
Data structure for module address and module attributes.
static const JAttributes_t & getAttributes(const JModule &first, const JModule &second)
Get module attributes.
JModuleAttributes()
Default constructor.
JModuleAttributes(const int index, const JModule &first, const JModule &second)
Constructor.
Auxiliary class for no type definition.