Belle II Software  release-08-01-10
ARICHModulesInfo Class Reference

The Class for information on HAPD modules installed in ARICH. More...

#include <ARICHModulesInfo.h>

Inheritance diagram for ARICHModulesInfo:
Collaboration diagram for ARICHModulesInfo:

Public Member Functions

 ARICHModulesInfo ()
 Default constructor.
 
double getChannelQE (unsigned modId, unsigned chNo) const
 Get channel quantum efficiency. More...
 
void setChannelQE (unsigned modId, unsigned chId, double qe)
 Set channel quantum efficiency. More...
 
void addModule (unsigned modId, std::vector< float > &qeList, bool active)
 Add installed module. More...
 
bool isInstalled (unsigned modId) const
 Check if module is installed. More...
 
bool isActive (unsigned modId) const
 Check if module is active. More...
 
void print () const
 Dump data.
 

Private Member Functions

 ClassDef (ARICHModulesInfo, 1)
 ClassDef, must be the last term before the closing {}.
 

Private Attributes

std::vector< uint8_t > m_ChannelQE
 Channel QE at 400nm.
 
bool m_active [N_HAPDS]
 array of active HAPDs
 
bool m_installed [N_HAPDS]
 array of installed HAPDs
 

Detailed Description

The Class for information on HAPD modules installed in ARICH.

holds:

  • QEs of all channels of all installed HAPDs
  • list of installed modules. Only installed modules are placed in geant4 geometry.
  • list of active modules. Only SimHits (simulated data) or RawHits (measured data) of active modules are converted to ARICHDigits.

Definition at line 33 of file ARICHModulesInfo.h.

Member Function Documentation

◆ addModule()

void addModule ( unsigned  modId,
std::vector< float > &  qeList,
bool  active 
)

Add installed module.

Parameters
modIdmodule ID number
qeListvector of channel QEs (in %!), arranged according to the channel ASIC numbers
activeis module active

Definition at line 42 of file ARICHModulesInfo.cc.

43 {
44 
45  if (modId > N_HAPDS) B2ERROR("ARICHModulesInfo::addModule: module ID is out of range");
46  if (qeList.size() != N_CHANNELS) B2ERROR("ARICHModulesInfo::addModule: incomplete list of channels QEs");
47 
48  m_installed[modId - 1] = true;
49  m_active[modId - 1] = active;
50 
51  std::vector<uint8_t>::iterator it = m_ChannelQE.begin() + (modId - 1) * N_CHANNELS;
52  for (auto qe : qeList) {
53  *it = uint8_t(qe + 0.5);
54  ++it;
55  }
56 }
bool m_installed[N_HAPDS]
array of installed HAPDs
bool m_active[N_HAPDS]
array of active HAPDs
std::vector< uint8_t > m_ChannelQE
Channel QE at 400nm.

◆ getChannelQE()

double getChannelQE ( unsigned  modId,
unsigned  chNo 
) const

Get channel quantum efficiency.

Parameters
modIdmodule ID number
chNochannel number (ASIC number)
Returns
channel QE

Definition at line 25 of file ARICHModulesInfo.cc.

◆ isActive()

bool isActive ( unsigned  modId) const

Check if module is active.

Parameters
modIdmodule ID number
Returns
true if active

Definition at line 65 of file ARICHModulesInfo.cc.

◆ isInstalled()

bool isInstalled ( unsigned  modId) const

Check if module is installed.

Parameters
modIdmodule ID number
Returns
true if installed

Definition at line 58 of file ARICHModulesInfo.cc.

◆ setChannelQE()

void setChannelQE ( unsigned  modId,
unsigned  chId,
double  qe 
)

Set channel quantum efficiency.

Parameters
modIdmodule ID number
chNochannel number (ASIC number)
qechannel quantum efficiency (0.35 for example)

Definition at line 34 of file ARICHModulesInfo.cc.


The documentation for this class was generated from the following files: