Jpp  17.3.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | List of all members
JDETECTOR::JTemplateDetectorAddressMap< JKM3NeTDB_t > Class Template Reference

Template specialisation of JTemplateDetectorAddressMap for KM3NeT detector. More...

#include <JDetectorAddressMapToolkit.hh>

Inheritance diagram for JDETECTOR::JTemplateDetectorAddressMap< JKM3NeTDB_t >:
JDETECTOR::JTemplateDetectorAddressMap< JKM3NeT_t > JDETECTOR::JDetectorAddressMap

Public Member Functions

 JTemplateDetectorAddressMap ()
 Default constructor. More...
 
virtual const JModuleAddressMapgetDefaultModuleAddressMap () const override
 Get default module address map. More...
 
virtual int getModuleID (const JLocation &location) const
 Get module identifier. More...
 
const JModuleAddressMapget (const int id) const
 Get module address map. More...
 
JModuleAddressMapget (const int id)
 Get module address map. More...
 
const JPMTAddressTranslatorget (const JPMTIdentifier &id) const
 Get PMT address translator. More...
 

Protected Attributes

std::vector< JModuleAddressMapbuffer
 
JTOOLS::JRouter< int > router
 

Detailed Description

template<>
class JDETECTOR::JTemplateDetectorAddressMap< JKM3NeTDB_t >

Template specialisation of JTemplateDetectorAddressMap for KM3NeT detector.

Definition at line 364 of file JDetectorAddressMapToolkit.hh.

Constructor & Destructor Documentation

Default constructor.

Definition at line 371 of file JDetectorAddressMapToolkit.hh.

372  {
373  get(817802210).swapTDC(14,18);
374  get(817802210).swapTDC(18,26);
375  get(817802210).swapTDC(19,26);
376  get(817802210).swapTDC(24,25);
377  get(817802210).swapTDC(25,26);
378  }

Member Function Documentation

virtual const JModuleAddressMap& JDETECTOR::JTemplateDetectorAddressMap< JKM3NeT_t >::getDefaultModuleAddressMap ( ) const
inlineoverridevirtualinherited

Get default module address map.

Returns
module address map

Implements JDETECTOR::JDetectorAddressMap.

Definition at line 237 of file JDetectorAddressMapToolkit.hh.

238  {
239  static JModuleAddressMap memo;
240 
241  if (memo.empty()) {
242 
243  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(22), JPMTPhysicalAddress('A', 1)));
244 
245  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(14), JPMTPhysicalAddress('B', 1)));
246  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(19), JPMTPhysicalAddress('B', 2)));
247  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(25), JPMTPhysicalAddress('B', 3)));
248  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(24), JPMTPhysicalAddress('B', 4)));
249  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(26), JPMTPhysicalAddress('B', 5)));
250  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(18), JPMTPhysicalAddress('B', 6)));
251 
252  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(13), JPMTPhysicalAddress('C', 1)));
253  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(21), JPMTPhysicalAddress('C', 2)));
254  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(29), JPMTPhysicalAddress('C', 3)));
255  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(28), JPMTPhysicalAddress('C', 4)));
256  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(20), JPMTPhysicalAddress('C', 5)));
257  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(17), JPMTPhysicalAddress('C', 6)));
258 
259  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(12), JPMTPhysicalAddress('D', 1)));
260  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(15), JPMTPhysicalAddress('D', 2)));
261  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(23), JPMTPhysicalAddress('D', 3)));
262  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(30), JPMTPhysicalAddress('D', 4)));
263  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(27), JPMTPhysicalAddress('D', 5)));
264  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(16), JPMTPhysicalAddress('D', 6)));
265 
266  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(10), JPMTPhysicalAddress('E', 1)));
267  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 6), JPMTPhysicalAddress('E', 2)));
268  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 3), JPMTPhysicalAddress('E', 3)));
269  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 2), JPMTPhysicalAddress('E', 4)));
270  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 1), JPMTPhysicalAddress('E', 5)));
271  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(11), JPMTPhysicalAddress('E', 6)));
272 
273  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 9), JPMTPhysicalAddress('F', 1)));
274  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 8), JPMTPhysicalAddress('F', 2)));
275  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 4), JPMTPhysicalAddress('F', 3)));
276  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 0), JPMTPhysicalAddress('F', 4)));
277  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 5), JPMTPhysicalAddress('F', 5)));
278  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 7), JPMTPhysicalAddress('F', 6)));
279 
280  memo.configure();
281  }
282 
283  return memo;
284  }
Lookup table for PMT addresses in optical module.
Data structure to translate PMT physical to readout address.
Data structure for PMT readout address.
Data structure for PMT physical address.
void configure()
Configure internal router.
virtual int JDETECTOR::JDetectorAddressMap::getModuleID ( const JLocation location) const
inlinevirtualinherited

Get module identifier.

Parameters
locationmodule location
Returns
module identifier

Definition at line 58 of file JDetectorAddressMap.hh.

59  {
60  return location.getString() * 100 + location.getFloor();
61  }
int getFloor() const
Get floor number.
Definition: JLocation.hh:145
int getString() const
Get string number.
Definition: JLocation.hh:134
const JModuleAddressMap& JDETECTOR::JDetectorAddressMap::get ( const int  id) const
inlineinherited

Get module address map.

Parameters
idmodule identifier

Definition at line 69 of file JDetectorAddressMap.hh.

70  {
71  if (router.has(id))
72  return buffer[router.get(id)];
73  else
75  }
virtual const JModuleAddressMap & getDefaultModuleAddressMap() const =0
Get default module address map.
std::vector< JModuleAddressMap > buffer
JModuleAddressMap& JDETECTOR::JDetectorAddressMap::get ( const int  id)
inlineinherited

Get module address map.

Parameters
idmodule identifier
Returns
module address map

Definition at line 84 of file JDetectorAddressMap.hh.

85  {
86  if (!router.has(id)) {
87 
89 
90  router.put(id, buffer.size() - 1);
91  }
92 
93  return buffer[router.get(id)];
94  }
virtual const JModuleAddressMap & getDefaultModuleAddressMap() const =0
Get default module address map.
std::vector< JModuleAddressMap > buffer
const JPMTAddressTranslator& JDETECTOR::JDetectorAddressMap::get ( const JPMTIdentifier id) const
inlineinherited

Get PMT address translator.

Parameters
idPMY identifier
Returns
PMT address translator

Definition at line 103 of file JDetectorAddressMap.hh.

104  {
105  return get(id.getModuleID()).getAddressTranslator(id.getTDC());
106  }

Member Data Documentation

std::vector<JModuleAddressMap> JDETECTOR::JDetectorAddressMap::buffer
protectedinherited

Definition at line 109 of file JDetectorAddressMap.hh.

JTOOLS::JRouter<int> JDETECTOR::JDetectorAddressMap::router
protectedinherited

Definition at line 110 of file JDetectorAddressMap.hh.


The documentation for this class was generated from the following file: