Jpp
Public Member Functions | Protected Attributes | List of all members
JDETECTOR::JTemplateDetectorAddressMap< JMonteCarlo_t > Class Template Reference

Template specialisation of JTemplateDetectorAddressMap for Monte Carlo detector. More...

#include <JDetectorAddressMapToolkit.hh>

Inheritance diagram for JDETECTOR::JTemplateDetectorAddressMap< JMonteCarlo_t >:
JDETECTOR::JDetectorAddressMap

Public Member Functions

 JTemplateDetectorAddressMap ()
 Default constructor. More...
 
virtual const JModuleAddressMapgetDefaultModuleAddressMap () const
 Get default module address map. More...
 
virtual int getModuleID (const JModuleLocation &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< JMonteCarlo_t >

Template specialisation of JTemplateDetectorAddressMap for Monte Carlo detector.

Definition at line 289 of file JDetectorAddressMapToolkit.hh.

Constructor & Destructor Documentation

◆ JTemplateDetectorAddressMap()

Default constructor.

Definition at line 296 of file JDetectorAddressMapToolkit.hh.

296  :
298  {}

Member Function Documentation

◆ getDefaultModuleAddressMap()

virtual const JModuleAddressMap& JDETECTOR::JTemplateDetectorAddressMap< JMonteCarlo_t >::getDefaultModuleAddressMap ( ) const
inlinevirtual

Get default module address map.

Returns
module address map

Implements JDETECTOR::JDetectorAddressMap.

Definition at line 306 of file JDetectorAddressMapToolkit.hh.

307  {
308  static JModuleAddressMap memo;
309 
310  if (memo.empty()) {
311 
312  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(22), JPMTPhysicalAddress('A', 1)));
313 
314  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(14), JPMTPhysicalAddress('B', 1)));
315  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(19), JPMTPhysicalAddress('B', 2)));
316  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(25), JPMTPhysicalAddress('B', 3)));
317  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(24), JPMTPhysicalAddress('B', 4)));
318  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(26), JPMTPhysicalAddress('B', 5)));
319  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(18), JPMTPhysicalAddress('B', 6)));
320 
321  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(13), JPMTPhysicalAddress('C', 1)));
322  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(21), JPMTPhysicalAddress('C', 2)));
323  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(29), JPMTPhysicalAddress('C', 3)));
324  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(28), JPMTPhysicalAddress('C', 4)));
325  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(20), JPMTPhysicalAddress('C', 5)));
326  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(17), JPMTPhysicalAddress('C', 6)));
327 
328  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(12), JPMTPhysicalAddress('D', 1)));
329  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(15), JPMTPhysicalAddress('D', 2)));
330  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(23), JPMTPhysicalAddress('D', 3)));
331  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(30), JPMTPhysicalAddress('D', 4)));
332  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(27), JPMTPhysicalAddress('D', 5)));
333  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(16), JPMTPhysicalAddress('D', 6)));
334 
335  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(10), JPMTPhysicalAddress('E', 1)));
336  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 6), JPMTPhysicalAddress('E', 2)));
337  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 3), JPMTPhysicalAddress('E', 3)));
338  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 2), JPMTPhysicalAddress('E', 4)));
339  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 1), JPMTPhysicalAddress('E', 5)));
340  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(11), JPMTPhysicalAddress('E', 6)));
341 
342  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 9), JPMTPhysicalAddress('F', 1)));
343  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 8), JPMTPhysicalAddress('F', 2)));
344  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 4), JPMTPhysicalAddress('F', 3)));
345  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 0), JPMTPhysicalAddress('F', 4)));
346  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 5), JPMTPhysicalAddress('F', 5)));
347  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 7), JPMTPhysicalAddress('F', 6)));
348 
349  memo.configure();
350  }
351 
352  return memo;
353  }

◆ getModuleID()

virtual int JDETECTOR::JDetectorAddressMap::getModuleID ( const JModuleLocation 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  }

◆ get() [1/3]

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  }

◆ get() [2/3]

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  }

◆ get() [3/3]

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

◆ buffer

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

Definition at line 109 of file JDetectorAddressMap.hh.

◆ router

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:
JDETECTOR::JDetectorAddressMap::getModuleID
virtual int getModuleID(const JModuleLocation &location) const
Get module identifier.
Definition: JDetectorAddressMap.hh:58
JDETECTOR::JPMTPhysicalAddress
Data structure for PMT physical address.
Definition: JPMTPhysicalAddress.hh:26
JDETECTOR::JDetectorAddressMap::buffer
std::vector< JModuleAddressMap > buffer
Definition: JDetectorAddressMap.hh:109
JDETECTOR::JModuleAddressMap
Lookup table for PMT addresses in optical module.
Definition: JModuleAddressMap.hh:82
JDETECTOR::JModuleAddressMap::getAddressTranslator
const JPMTAddressTranslator & getAddressTranslator(const int tdc) const
Get PMT address translator.
Definition: JModuleAddressMap.hh:208
JDETECTOR::JModuleAddressMap::configure
void configure()
Configure internal router.
Definition: JModuleAddressMap.hh:140
JDETECTOR::JDetectorAddressMap::JDetectorAddressMap
JDetectorAddressMap()
Default constructor.
Definition: JDetectorAddressMap.hh:31
JDETECTOR::JDetectorAddressMap::getDefaultModuleAddressMap
virtual const JModuleAddressMap & getDefaultModuleAddressMap() const =0
Get default module address map.
JDETECTOR::JModuleLocation::getFloor
int getFloor() const
Get floor number.
Definition: JModuleLocation.hh:144
JDETECTOR::JDetectorAddressMap::router
JTOOLS::JRouter< int > router
Definition: JDetectorAddressMap.hh:110
JDETECTOR::JPMTAddressTranslator
Data structure to translate PMT physical to readout address.
Definition: JModuleAddressMap.hh:28
JDETECTOR::JPMTReadoutAddress
Data structure for PMT readout address.
Definition: JPMTReadoutAddress.hh:27
JDETECTOR::JModuleLocation::getString
int getString() const
Get string number.
Definition: JModuleLocation.hh:133
JDETECTOR::JDetectorAddressMap::get
const JModuleAddressMap & get(const int id) const
Get module address map.
Definition: JDetectorAddressMap.hh:69