Jpp  18.2.1
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 > JDETECTOR::JTemplateDetectorAddressMap< JKM3NeTDB_t >

Public Member Functions

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

JDETECTOR::JDetectorAddressMap::JDetectorAddressMap ( )
inlineprotected

Default constructor.

Definition at line 31 of file JDetectorAddressMap.hh.

31  :
32  buffer(),
33  router(-1)
34  {}
std::vector< JModuleAddressMap > buffer
virtual JDETECTOR::JDetectorAddressMap::~JDetectorAddressMap ( )
inlinevirtual

Virtual destructor.

Definition at line 40 of file JDetectorAddressMap.hh.

41  {}

Member Function Documentation

virtual const JModuleAddressMap& JDETECTOR::JDetectorAddressMap::getDefaultModuleAddressMap ( ) const
pure virtual
virtual int JDETECTOR::JDetectorAddressMap::getModuleID ( const JLocation 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  }
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
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  }
virtual const JModuleAddressMap & getDefaultModuleAddressMap() const =0
Get default module address map.
std::vector< JModuleAddressMap > buffer
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  }
virtual const JModuleAddressMap & getDefaultModuleAddressMap() const =0
Get default module address map.
std::vector< JModuleAddressMap > buffer
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

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

Definition at line 109 of file JDetectorAddressMap.hh.

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: