ATLAS Offline Software
Loading...
Searching...
No Matches
NswT0Data Class Reference

#include <NswT0Data.h>

Collaboration diagram for NswT0Data:

Public Member Functions

 NswT0Data (const Muon::IMuonIdHelperSvc *idHelperSvc)
 ~NswT0Data ()=default
void setData (const Identifier &channelId, const float channelT0)
bool getT0 (const Identifier &channelId, float &channelT0) const

Private Types

using ChannelArray = std::vector<std::vector<float>>

Private Member Functions

unsigned int identToModuleIdx (const Identifier &chan_id) const

Private Attributes

const Muon::IMuonIdHelperSvcm_idHelperSvc {}
ChannelArray m_data_mmg {}
ChannelArray m_data_stg {}

Detailed Description

Definition at line 22 of file NswT0Data.h.

Member Typedef Documentation

◆ ChannelArray

using NswT0Data::ChannelArray = std::vector<std::vector<float>>
private

Definition at line 41 of file NswT0Data.h.

Constructor & Destructor Documentation

◆ NswT0Data()

NswT0Data::NswT0Data ( const Muon::IMuonIdHelperSvc * idHelperSvc)

Definition at line 15 of file NswT0Data.cxx.

15 :
16 m_idHelperSvc{idHelperSvc} {
17 if (m_idHelperSvc->hasMM()) {
18 const MmIdHelper& idHelper{m_idHelperSvc->mmIdHelper()};
19 m_data_mmg.resize((idHelper.detectorElement_hash_max()+1)*idHelper.gasGapMax());
20 }
21 if (m_idHelperSvc->hasSTGC()) {
22 const sTgcIdHelper& idHelper{m_idHelperSvc->stgcIdHelper()};
23 m_data_stg.resize((idHelper.detectorElement_hash_max() +1)*(idHelper.gasGapMax()*3 /*3 channel types*/));
24
25 }
26}
static int gasGapMax()
size_type detectorElement_hash_max() const
const Muon::IMuonIdHelperSvc * m_idHelperSvc
Definition NswT0Data.h:39
ChannelArray m_data_mmg
Definition NswT0Data.h:42
ChannelArray m_data_stg
Definition NswT0Data.h:43
static int gasGapMax()

◆ ~NswT0Data()

NswT0Data::~NswT0Data ( )
default

Member Function Documentation

◆ getT0()

bool NswT0Data::getT0 ( const Identifier & channelId,
float & channelT0 ) const

Definition at line 58 of file NswT0Data.cxx.

58 {
60 if (m_idHelperSvc->isMM(id)) {
61 if (m_data_mmg.size() <= idx) return false;
62 uint channelId = m_idHelperSvc->mmIdHelper().channel(id) -1;
63 value = m_data_mmg[idx].at(channelId);
64 return true;
65 }
66 uint channelId = m_idHelperSvc->stgcIdHelper().channel(id)-1;
67 if(m_data_stg.size() <= idx) return false;
68 if(m_data_stg[idx].size() <= idx) return false;
69 value = m_data_stg[idx].at(channelId);
70 return true;
71}
unsigned int uint
unsigned int identToModuleIdx(const Identifier &chan_id) const
Definition NswT0Data.cxx:28

◆ identToModuleIdx()

unsigned int NswT0Data::identToModuleIdx ( const Identifier & chan_id) const
private

Definition at line 28 of file NswT0Data.cxx.

28 {
29 const IdentifierHash hash = m_idHelperSvc->detElementHash(chan_id);
30 if (m_idHelperSvc->isMM(chan_id)) {
31 const MmIdHelper& idHelper{m_idHelperSvc->mmIdHelper()};
32 return static_cast<unsigned int>(hash)*(idHelper.gasGapMax()) + (idHelper.gasGap(chan_id) -1);
33 } else if (m_idHelperSvc->issTgc(chan_id)) {
34 const sTgcIdHelper& idHelper{m_idHelperSvc->stgcIdHelper()};
35 return static_cast<unsigned int>(hash)*(idHelper.gasGapMax() * 3 /*3 channel types*/) +
36 (idHelper.gasGap(chan_id) -1 + idHelper.gasGapMax() * idHelper.channelType(chan_id));
37 }
38 THROW_EXCEPTION("NswT0Data() - No MM or sTGC identifier");
39 return -1;
40}
int gasGap(const Identifier &id) const override
get the hashes
int channelType(const Identifier &id) const
int gasGap(const Identifier &id) const override
get the hashes
#define THROW_EXCEPTION(MESSAGE)
Definition throwExcept.h:10

◆ setData()

void NswT0Data::setData ( const Identifier & channelId,
const float channelT0 )

Definition at line 42 of file NswT0Data.cxx.

42 {
45 uint channelIdx{0};
46 if(m_idHelperSvc->isMM(id)){
47 const MmIdHelper& idHelper{m_idHelperSvc->mmIdHelper()};
48 if(data.at(idx).empty()) data.at(idx).resize(idHelper.channelMax(id), 0.f);
49 channelIdx = idHelper.channel(id) -1;
50 } else {
51 const sTgcIdHelper& idHelper{m_idHelperSvc->stgcIdHelper()};
52 if(data.at(idx).empty()) data.at(idx).resize(idHelper.channelMax(id), 0.f);
53 channelIdx = idHelper.channel(id) -1;
54 }
55 data.at(idx).at(channelIdx) = value;
56}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
static int channelMax()
int channel(const Identifier &id) const override
std::vector< std::vector< float > > ChannelArray
Definition NswT0Data.h:41
static int channelMax()
int channel(const Identifier &id) const override

Member Data Documentation

◆ m_data_mmg

ChannelArray NswT0Data::m_data_mmg {}
private

Definition at line 42 of file NswT0Data.h.

42{};

◆ m_data_stg

ChannelArray NswT0Data::m_data_stg {}
private

Definition at line 43 of file NswT0Data.h.

43{};

◆ m_idHelperSvc

const Muon::IMuonIdHelperSvc* NswT0Data::m_idHelperSvc {}
private

Definition at line 39 of file NswT0Data.h.

39{};

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