Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
JDETECTOR::JDetectorAddressMap Class Referenceabstract

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

#include <JDetectorAddressMap.hh>

Inheritance diagram for JDETECTOR::JDetectorAddressMap:
JDETECTOR::JDetectorBuilder JDETECTOR::JDetectorBuilder_t< JKM3NeT_t > JDETECTOR::JDetectorBuilder_t< JMonteCarlo_t > JDETECTOR::JDetectorBuilder_t< JObsolete_t > JDETECTOR::JDetectorBuilder_t< JPPM_DU_t > JDETECTOR::JDetectorBuilder_t< JKM3NeTFit_t >

Public Member Functions

virtual ~JDetectorAddressMap ()
 Virtual destructor.
 
virtual const JModuleAddressMapgetDefaultModuleAddressMap () const =0
 Get default module address map.
 
virtual int getModuleID (const JLocation &location) const
 Get module identifier.
 
const JModuleAddressMapget (const int id) const
 Get module address map.
 
JModuleAddressMapget (const int id)
 Get module address map.
 
const JPMTAddressTranslatorget (const JPMTIdentifier &id) const
 Get PMT address translator.
 

Protected Member Functions

 JDetectorAddressMap ()
 Default constructor.
 

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 {}
std::vector< JModuleAddressMap > buffer

◆ ~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 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 }

◆ 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 }
virtual const JModuleAddressMap & getDefaultModuleAddressMap() const =0
Get default module address map.

◆ 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 }
virtual int getModuleID(const JLocation &location) const
Get module identifier.
const JModuleAddressMap & get(const int id) const
Get module address map.
const JPMTAddressTranslator & getAddressTranslator(const int tdc) const
Get PMT address translator.

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: