Jpp
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
JDETECTOR::JDetectorAddressMap Class Referenceabstract

Lookup table for PMT addresses in detector. More...

#include <JDetectorAddressMap.hh>

Inheritance diagram for JDETECTOR::JDetectorAddressMap:
JDETECTOR::JTemplateDetectorAddressMap< JKM3NeT_t > JDETECTOR::JTemplateDetectorAddressMap< JMonteCarlo_t > JDETECTOR::JTemplateDetectorAddressMap< JObsolete_t > JDETECTOR::JTemplateDetectorAddressMap< JPPM_DU_t >

Public Member Functions

virtual ~JDetectorAddressMap ()
 Virtual destructor. More...
 
virtual const JModuleAddressMapgetDefaultModuleAddressMap () const =0
 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 Member Functions

 JDetectorAddressMap ()
 Default constructor. More...
 

Protected Attributes

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

Detailed Description

Lookup table for PMT addresses in detector.

Definition at line 25 of file JDetectorAddressMap.hh.

Constructor & Destructor Documentation

◆ JDetectorAddressMap()

JDETECTOR::JDetectorAddressMap::JDetectorAddressMap ( )
inlineprotected

Default constructor.

Definition at line 31 of file JDetectorAddressMap.hh.

31  :
32  buffer(),
33  router(-1)
34  {}

◆ ~JDetectorAddressMap()

virtual JDETECTOR::JDetectorAddressMap::~JDetectorAddressMap ( )
inlinevirtual

Virtual destructor.

Definition at line 40 of file JDetectorAddressMap.hh.

41  {}

Member Function Documentation

◆ getDefaultModuleAddressMap()

virtual const JModuleAddressMap& JDETECTOR::JDetectorAddressMap::getDefaultModuleAddressMap ( ) const
pure virtual

◆ getModuleID()

virtual int JDETECTOR::JDetectorAddressMap::getModuleID ( const JModuleLocation location) const
inlinevirtual

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
inline

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)
inline

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
inline

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
protected

Definition at line 109 of file JDetectorAddressMap.hh.

◆ router

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

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::JDetectorAddressMap::buffer
std::vector< JModuleAddressMap > buffer
Definition: JDetectorAddressMap.hh:109
JDETECTOR::JModuleAddressMap::getAddressTranslator
const JPMTAddressTranslator & getAddressTranslator(const int tdc) const
Get PMT address translator.
Definition: JModuleAddressMap.hh:208
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::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