1 #ifndef __JDETECTOR__JDETECTORSUPPORTKIT__ 
    2 #define __JDETECTOR__JDETECTORSUPPORTKIT__ 
   92       module.resize(memo.size());
 
  158   template<
class JDetector_t>
 
  246       get(103).swap(24,30);
 
  463       get(817802210).rotateL(
'B');
 
  468       get(817351722).swapTDC(15, 17);
 
  469       get(808972598).swapTDC(27, 28);
 
  470       get(817315169).swapTDC(14, 18);
 
  471       get(806481218).swapTDC( 9, 11);      
 
  473       get(817295048).rotateR(
'B');
 
  477       get(817565802).swapTDC( 3,  4);
 
  495       if (module.getID() == 817802210) {
 
  499         for (JModule::iterator pmt = module.begin(); pmt != module.end(); ++pmt) {
 
  500           if (pmt->getDZ() < 0.0) {
 
  508       if (module.getID() == 817603901) {
 
  512         for (JModule::iterator pmt = module.begin(); pmt != module.end(); ++pmt) {
 
  513           if (pmt->getDZ() < 0.0) {
 
  527   template<
class JDetector_t>
 
  541   template<
class JDetector_t>
 
  544     return getDetectorBuilder<JDetector_t>();
 
  554   template<
class JDetector_t>
 
  557     return getDetectorAddressMap<JDetector_t>().get(
id);
 
  568   template<
class JDetector_t>
 
  571     return getModuleAddressMap<JDetector_t>(
id).getAddressTranslator(tdc);
 
  582   template<
class JDetector_t>
 
  585     return getModuleAddressMap<JDetector_t>(
id).getIndex(tdc);
 
  596   template<
class JHead_t, 
class JTail_t>
 
  608         return getDetectorBuilder<JHead_t>();
 
  620     static bool has(
const int id)
 
  627   template<
class JHead_t>
 
  639         return getDetectorBuilder<JHead_t>();
 
  651     static bool has(
const int id)
 
  714   template<
class JDetector_t>
 
  719     return getDetectorBuilder<JDetector_t>().getModule(
id, location);
 
  743     if (module.empty()) {
 
  747       const double R  = 0.5;           
 
  749       const double st = sin(0.75*
PI);
 
  750       const double ct = cos(0.75*
PI);
 
  752       for (
int i = 0; i != 3; ++i) {
 
  754         const double phi = (2.0*
PI*i) / 3.0;
 
  755         const double cp  = cos(phi);
 
  756         const double sp  = sin(phi);
 
  773   template<
class JDetector_t>
 
const JModule & getModule(const JDetector &detector, const JModuleLocation &location)
find module with a given string and floor number
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
 
Data structure for optical module.
 
Lookup table for PMT addresses in detector.
 
const JModuleAddressMap & get(const int id) const
Get module address map.
 
JDetectorBuilder_t()
Default constructor.
 
virtual void configure() const override
Configure module.
 
virtual const JModuleAddressMap & getDefaultModuleAddressMap() const override
Get default module address map.
 
JDetectorBuilder_t()
Default constructor.
 
virtual const JModuleAddressMap & getDefaultModuleAddressMap() const override
Get default module address map.
 
JDetectorBuilder_t()
Default constructor.
 
JDetectorBuilder_t()
Default constructor.
 
virtual const JModuleAddressMap & getDefaultModuleAddressMap() const override
Get default module address map.
 
virtual const JModuleAddressMap & getDefaultModuleAddressMap() const override
Get default module address map.
 
JDetectorBuilder_t()
Default constructor.
 
Template lookup table for detector builder.
 
Logical location of module.
 
void setLocation(const JLocation &location)
Set location.
 
Lookup table for PMT addresses in optical module.
 
void configure()
Configure internal router.
 
bool has(const int index) const
Test whether index is available.
 
Data structure for a composite optical module.
 
void compile()
Compile module data.
 
JModule & set(const JVector3D &pos)
Set position.
 
Data structure for PMT physical address.
 
Data structure for PMT readout address.
 
Data structure for PMT geometry, calibration and status.
 
Data structure for vector in three dimensions.
 
Data structure for normalised vector in three dimensions.
 
Exception for accessing an index in a collection that is outside of its range.
 
void setID(const int id)
Set identifier.
 
file Auxiliary data structures and methods for detector calibration.
 
JTYPELIST< JPPM_DU_t, JKM3NeTFit_t, JKM3NeT_t, JMonteCarlo_t >::typelist JDetectorTypes_t
Type list of KM3NeT detector types (specific detectors first).
 
JDetectorAddressMap & getDetectorAddressMap(const int id)
Get detector address map.
 
static const double ORCA_TBARZ_M
ORCA T-bar position relative to seabed [m].
 
JDetectorBuilder & getDetectorBuilder(const int id)
Get detector builder.
 
bool hasDetectorBuilder(const int id)
Check if detector builder is available.
 
JModuleAddressMap & getModuleAddressMap(int id)
Get module address map.
 
static const double ARCA_TBARZ_M
ORCA T-bar position relative to seabed [m].
 
int getPMTLogicalIndex(int id, int tdc)
Get PMT logical index for given module identifier and TDC channel.
 
bool hasDetector(JType< JMonteCarlo_t > type, const int id)
 
const JPMTAddressTranslator & getPMTAddressTranslator(int id, int tdc)
Get PMT address translator for given module identifier and TDC channel.
 
bool hasDetectorAddressMap(const int id)
Check if detector address map is available.
 
static const double PI
Mathematical constants.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Auxiliary interface for building detector.
 
const JModule & getModule(const int id=-1, const JLocation &location=JLocation()) const
Get module.
 
virtual void configure() const
Configure module.
 
static JDetectorBuilder & get(const int id)
Get detector address map.
 
static bool has(const int id)
Has detector address map.
 
static bool has(const int id)
Has detector address map.
 
static JDetectorBuilder & get(const int id)
Get detector address map.
 
Auxiliary class to extract detector address map from detector identifier.
 
KM3NeT with cable swaps, etc. (see e.g. JPMTSwapDB.cc)
 
Data structure to translate PMT physical to readout address.
 
Type definitions for different detectors.PPM_DU.
 
Auxiliary class for no type definition.
 
Auxiliary class for recursive type list generation.
 
Auxiliary class for a type holder.