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

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

#include <JDetectorAddressMapToolkit.hh>

Inheritance diagram for JDETECTOR::JTemplateDetectorAddressMap< JPPM_DU_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< JPPM_DU_t >

Template specialisation of JTemplateDetectorAddressMap for PPM_DU detector.

Definition at line 143 of file JDetectorAddressMapToolkit.hh.

Constructor & Destructor Documentation

◆ JTemplateDetectorAddressMap()

Default constructor.

Definition at line 150 of file JDetectorAddressMapToolkit.hh.

150  :
152  {
153  get(103).swap(24,30);
154  }

Member Function Documentation

◆ getDefaultModuleAddressMap()

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

Get default module address map.

Returns
module address map

Implements JDETECTOR::JDetectorAddressMap.

Definition at line 162 of file JDetectorAddressMapToolkit.hh.

163  {
164  static JModuleAddressMap memo;
165 
166  if (memo.empty()) {
167 
168  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 0), JPMTPhysicalAddress('A', 1)));
169 
170  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 6), JPMTPhysicalAddress('B', 1)));
171  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 5), JPMTPhysicalAddress('B', 2)));
172  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 4), JPMTPhysicalAddress('B', 3)));
173  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 3), JPMTPhysicalAddress('B', 4)));
174  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 2), JPMTPhysicalAddress('B', 5)));
175  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 1), JPMTPhysicalAddress('B', 6)));
176 
177  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(12), JPMTPhysicalAddress('C', 1)));
178  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(11), JPMTPhysicalAddress('C', 2)));
179  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(10), JPMTPhysicalAddress('C', 3)));
180  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 9), JPMTPhysicalAddress('C', 4)));
181  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 8), JPMTPhysicalAddress('C', 5)));
182  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress( 7), JPMTPhysicalAddress('C', 6)));
183 
184  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(18), JPMTPhysicalAddress('D', 1)));
185  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(17), JPMTPhysicalAddress('D', 2)));
186  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(16), JPMTPhysicalAddress('D', 3)));
187  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(15), JPMTPhysicalAddress('D', 4)));
188  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(14), JPMTPhysicalAddress('D', 5)));
189  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(13), JPMTPhysicalAddress('D', 6)));
190 
191  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(19), JPMTPhysicalAddress('E', 1)));
192  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(24), JPMTPhysicalAddress('E', 2)));
193  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(23), JPMTPhysicalAddress('E', 3)));
194  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(22), JPMTPhysicalAddress('E', 4)));
195  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(21), JPMTPhysicalAddress('E', 5)));
196  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(20), JPMTPhysicalAddress('E', 6)));
197 
198  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(25), JPMTPhysicalAddress('F', 1)));
199  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(30), JPMTPhysicalAddress('F', 2)));
200  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(29), JPMTPhysicalAddress('F', 3)));
201  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(28), JPMTPhysicalAddress('F', 4)));
202  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(27), JPMTPhysicalAddress('F', 5)));
203  memo.push_back(JPMTAddressTranslator(JPMTReadoutAddress(26), JPMTPhysicalAddress('F', 6)));
204 
205  memo.configure();
206  }
207 
208  return memo;
209  }

◆ 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::JModuleAddressMap::swap
void swap(const int i1, const int i2)
Swap readout addresses corresponding to indices.
Definition: JModuleAddressMap.hh:163
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