ATLAS Offline Software
Classes | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Muon::nsw::NSWPadTriggerL1a Class Reference

#include <NSWPadTriggerL1a.h>

Inheritance diagram for Muon::nsw::NSWPadTriggerL1a:
Collaboration diagram for Muon::nsw::NSWPadTriggerL1a:

Classes

struct  DecodedData
 
struct  OneBCOfData
 

Public Member Functions

 NSWPadTriggerL1a (const uint32_t *bs, const uint32_t remaining)
 
virtual ~NSWPadTriggerL1a ()=default
 
uint32_t getNumberOfHits () const
 
uint32_t getNumberOfPfebs () const
 
uint32_t getNumberOfTriggers () const
 
uint32_t getNumberOfBcids () const
 
const std::vector< uint32_t > & getHitRelBcids () const
 
const std::vector< uint32_t > & getHitPfebs () const
 
const std::vector< uint32_t > & getHitTdsChannels () const
 
const std::vector< uint32_t > & getHitVmmChannels () const
 
const std::vector< uint32_t > & getHitVmms () const
 
const std::vector< uint32_t > & getHitPadChannels () const
 
const std::vector< uint32_t > & getPfebAddresses () const
 
const std::vector< uint32_t > & getPfebNChannels () const
 
const std::vector< uint32_t > & getPfebDisconnecteds () const
 
const std::vector< uint32_t > & getTriggerBandIds () const
 
const std::vector< uint32_t > & getTriggerPhiIds () const
 
const std::vector< uint32_t > & getTriggerRelBcids () const
 
const std::vector< uint32_t > & getBcidRels () const
 
const std::vector< uint32_t > & getBcidStatuses () const
 
const std::vector< uint32_t > & getBcidMultZeros () const
 
const std::vector< uint32_t > & getBcidMultiplicities () const
 
uint32_t getFlags () const
 
uint32_t getEc () const
 
uint32_t getFragid () const
 
uint32_t getSecid () const
 
uint32_t getSpare () const
 
uint32_t getOrbit () const
 
uint32_t getBcid () const
 
uint32_t getL1id () const
 
uint16_t getCRC () const
 
uint32_t getOrbitid () const
 
uint32_t getOrbit1 () const
 
uint32_t getStatus () const
 
bool isCRCValid ()
 
uint16_t computeCRC () const
 
unsigned int nwords () const
 
unsigned int nwordsFlx () const
 
unsigned int status () const
 
bool suspect () const
 
uint32_t elinkWord () const
 
const std::shared_ptr< Muon::nsw::NSWResourceId > & elinkId () const
 

Static Public Member Functions

static bool isLarge (const uint32_t sec)
 
static bool isSmall (const uint32_t sec)
 
static bool isA (const uint32_t sourceid)
 
static bool isC (const uint32_t sourceid)
 
static uint32_t radius (const uint32_t pfeb)
 
static uint32_t layer (const uint32_t pfeb)
 
static uint32_t sector (const uint32_t sourceid)
 
static uint32_t quad (const uint32_t pfeb)
 
static uint32_t quadlayer (const uint32_t pfeb)
 
static uint32_t offlineGasgap (const uint32_t pfeb)
 
static uint32_t offlineMultilayer (const uint32_t pfeb)
 
static uint32_t offlineChannelNumber (const uint32_t sec, const uint32_t pfeb, const uint32_t vmm, const uint32_t vmmchan)
 
static uint32_t offlineStationAbsEta (const uint32_t pfeb)
 
static uint32_t offlineStationPhi (const uint32_t sourceid)
 
static std::string offlineStationName (const uint32_t sec)
 
static uint8_t getPadTriggerToTds (const size_t pfeb, const size_t chan, const std::string &size)
 
static uint8_t getTdsToPadTrigger (const size_t pfeb, const uint8_t tdschan, const std::string &size)
 

Protected Attributes

unsigned int m_wordCount {}
 
unsigned int m_wordCountFlx {}
 
unsigned int m_packet_status {}
 
bool m_packet_sus {}
 
uint32_t m_elinkWord {}
 
std::shared_ptr< Muon::nsw::NSWResourceIdm_elinkId
 

Private Member Functions

uint32_t checkSize (const std::vector< uint32_t > &words) const
 
bool isNullPayload (const std::vector< uint32_t > &words) const
 
uint32_t lastValidByteIndex (const std::vector< uint32_t > &words) const
 
uint32_t roundUpIfOdd (const uint32_t nbytes) const
 
uint8_t getByte (const std::vector< uint32_t > &words, size_t byteIndex) const
 
std::vector< uint8_t > getBits (const std::vector< uint32_t > &words, size_t firstBit, size_t lastBit) const
 
uint32_t getBitsAsWord32 (const std::vector< uint32_t > &words, size_t firstBit, size_t lastBit) const
 
uint32_t getFlags (const std::vector< uint32_t > &words) const
 
uint32_t getEc (const std::vector< uint32_t > &words) const
 
uint32_t getFragid (const std::vector< uint32_t > &words) const
 
uint32_t getSecid (const std::vector< uint32_t > &words) const
 
uint32_t getSpare (const std::vector< uint32_t > &words) const
 
uint32_t getOrbit (const std::vector< uint32_t > &words) const
 
uint32_t getBcid (const std::vector< uint32_t > &words) const
 
uint32_t getL1id (const std::vector< uint32_t > &words) const
 
uint16_t computeCRC (const uint32_t *bs, const uint32_t remaining)
 
uint32_t getOrbitid (const std::vector< uint32_t > &words) const
 
uint32_t getOrbit1 (const std::vector< uint32_t > &words) const
 
OneBCOfData getOneBcOfCompressedData (const std::vector< uint32_t > &words, const uint32_t bitIndex, const uint32_t relbcid, const Constants::ArrayOfPfebChannels &mapPadTriggerToTds, const Constants::ArrayOfPfebs &numberOfChannels) const
 
uint32_t getMultiplicity (const std::vector< uint32_t > &words, const uint32_t bitIndex) const
 
uint32_t getMult0 (const std::vector< uint32_t > &words, const uint32_t bitIndex) const
 
uint32_t getPhiid0 (const std::vector< uint32_t > &words, const uint32_t bitIndex) const
 
std::vector< uint32_t > getPhiids (const std::vector< uint32_t > &words, const uint32_t bitIndex) const
 
std::vector< uint32_t > getBandids (const std::vector< uint32_t > &words, const uint32_t bitIndex) const
 
uint32_t getL1size (const std::vector< uint32_t > &words, const uint32_t bitIndex) const
 
uint32_t getL0size (const std::vector< uint32_t > &words, const uint32_t bitIndex) const
 
uint32_t getL2 (const std::vector< uint32_t > &words, const uint32_t bitIndex) const
 
std::vector< uint32_t > getL1 (const std::vector< uint32_t > &words, const uint32_t bitIndex, const uint32_t l1size) const
 
std::vector< uint32_t > getL0 (const std::vector< uint32_t > &words, const uint32_t bitIndex, const uint32_t l1size, const uint32_t l0size) const
 
uint32_t getStatus (const std::vector< uint32_t > &words, const uint32_t bitIndex) const
 
std::vector< uint8_t > getBytemap (const uint32_t L2, const std::vector< uint32_t > &L1, const std::vector< uint32_t > &L0) const
 
std::vector< uint8_t > getBitmap (const std::vector< uint8_t > &bytemap) const
 
std::vector< std::vector< uint8_t > > getBitmaps (const std::vector< uint8_t > &bytemap, const Constants::ArrayOfPfebs &numberOfChannels) const
 
std::vector< std::vector< uint8_t > > getHits (const std::vector< std::vector< uint8_t > > &bitmap) const
 
bool getDisconnected (const std::vector< uint8_t > &bitmap) const
 
std::vector< bool > getDisconnecteds (const std::vector< std::vector< uint8_t > > &bitmap) const
 
std::vector< std::vector< uint8_t > > getTdsChannels (const std::vector< std::vector< uint8_t > > &hits, const Constants::ArrayOfPfebChannels &mapPadTriggerToTds) const
 

Private Attributes

uint16_t m_computedCRC {0}
 
DecodedData m_decoded
 
uint32_t m_hit_n {0}
 
uint32_t m_pfeb_n {0}
 
uint32_t m_trigger_n {0}
 
uint32_t m_bcid_n {0}
 
std::vector< uint32_t > m_hit_relbcid {}
 
std::vector< uint32_t > m_hit_pfeb {}
 
std::vector< uint32_t > m_hit_tdschannel {}
 
std::vector< uint32_t > m_hit_vmmchannel {}
 
std::vector< uint32_t > m_hit_vmm {}
 
std::vector< uint32_t > m_hit_padchannel {}
 
std::vector< uint32_t > m_pfeb_addr {}
 
std::vector< uint32_t > m_pfeb_nchan {}
 
std::vector< uint32_t > m_pfeb_disconnected {}
 
std::vector< uint32_t > m_trigger_bandid {}
 
std::vector< uint32_t > m_trigger_phiid {}
 
std::vector< uint32_t > m_trigger_relbcid {}
 
std::vector< uint32_t > m_bcid_rel {}
 
std::vector< uint32_t > m_bcid_status {}
 
std::vector< uint32_t > m_bcid_multzero {}
 
std::vector< uint32_t > m_bcid_multiplicity {}
 
bool m_hasOrbit {true}
 

Static Private Attributes

static constexpr Constants::ArrayOfPfebs m_numberOfChannelsL
 
static constexpr Constants::ArrayOfPfebs m_numberOfChannelsS
 
static constexpr Constants::ArrayOfPfebChannels m_mapPadTriggerToTdsL
 
static constexpr Constants::ArrayOfPfebChannels m_mapPadTriggerToTdsS
 

Detailed Description

Definition at line 142 of file NSWPadTriggerL1a.h.

Constructor & Destructor Documentation

◆ NSWPadTriggerL1a()

Muon::nsw::NSWPadTriggerL1a::NSWPadTriggerL1a ( const uint32_t *  bs,
const uint32_t  remaining 
)

◆ ~NSWPadTriggerL1a()

virtual Muon::nsw::NSWPadTriggerL1a::~NSWPadTriggerL1a ( )
virtualdefault

Member Function Documentation

◆ checkSize()

uint32_t Muon::nsw::NSWPadTriggerL1a::checkSize ( const std::vector< uint32_t > &  words) const
private

◆ computeCRC() [1/2]

uint16_t Muon::nsw::NSWPadTriggerL1a::computeCRC ( ) const
inline

Definition at line 343 of file NSWPadTriggerL1a.h.

343 { return m_computedCRC; }

◆ computeCRC() [2/2]

uint16_t Muon::nsw::NSWPadTriggerL1a::computeCRC ( const uint32_t *  bs,
const uint32_t  remaining 
)
private

◆ elinkId()

const std::shared_ptr<Muon::nsw::NSWResourceId>& Muon::nsw::NSWTriggerElink::elinkId ( ) const
inlineinherited

Definition at line 63 of file NSWTriggerElink.h.

63 {return m_elinkId;};

◆ elinkWord()

uint32_t Muon::nsw::NSWTriggerElink::elinkWord ( ) const
inlineinherited

Definition at line 62 of file NSWTriggerElink.h.

62 {return m_elinkWord;};

◆ getBandids()

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::getBandids ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex 
) const
private

◆ getBcid() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getBcid ( ) const
inline

Definition at line 183 of file NSWPadTriggerL1a.h.

183 { return m_decoded.bcid; };

◆ getBcid() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getBcid ( const std::vector< uint32_t > &  words) const
private

◆ getBcidMultiplicities()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getBcidMultiplicities ( ) const
inline

Definition at line 172 of file NSWPadTriggerL1a.h.

172 { return m_bcid_multiplicity; };

◆ getBcidMultZeros()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getBcidMultZeros ( ) const
inline

Definition at line 171 of file NSWPadTriggerL1a.h.

171 { return m_bcid_multzero; };

◆ getBcidRels()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getBcidRels ( ) const
inline

Definition at line 169 of file NSWPadTriggerL1a.h.

169 { return m_bcid_rel; };

◆ getBcidStatuses()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getBcidStatuses ( ) const
inline

Definition at line 170 of file NSWPadTriggerL1a.h.

170 { return m_bcid_status; };

◆ getBitmap()

std::vector<uint8_t> Muon::nsw::NSWPadTriggerL1a::getBitmap ( const std::vector< uint8_t > &  bytemap) const
private

◆ getBitmaps()

std::vector< std::vector<uint8_t> > Muon::nsw::NSWPadTriggerL1a::getBitmaps ( const std::vector< uint8_t > &  bytemap,
const Constants::ArrayOfPfebs numberOfChannels 
) const
private

◆ getBits()

std::vector<uint8_t> Muon::nsw::NSWPadTriggerL1a::getBits ( const std::vector< uint32_t > &  words,
size_t  firstBit,
size_t  lastBit 
) const
private

◆ getBitsAsWord32()

uint32_t Muon::nsw::NSWPadTriggerL1a::getBitsAsWord32 ( const std::vector< uint32_t > &  words,
size_t  firstBit,
size_t  lastBit 
) const
private

◆ getByte()

uint8_t Muon::nsw::NSWPadTriggerL1a::getByte ( const std::vector< uint32_t > &  words,
size_t  byteIndex 
) const
private

◆ getBytemap()

std::vector<uint8_t> Muon::nsw::NSWPadTriggerL1a::getBytemap ( const uint32_t  L2,
const std::vector< uint32_t > &  L1,
const std::vector< uint32_t > &  L0 
) const
private

◆ getCRC()

uint16_t Muon::nsw::NSWPadTriggerL1a::getCRC ( ) const
inline

Definition at line 189 of file NSWPadTriggerL1a.h.

189 { return m_decoded.crc; };

◆ getDisconnected()

bool Muon::nsw::NSWPadTriggerL1a::getDisconnected ( const std::vector< uint8_t > &  bitmap) const
private

◆ getDisconnecteds()

std::vector<bool> Muon::nsw::NSWPadTriggerL1a::getDisconnecteds ( const std::vector< std::vector< uint8_t > > &  bitmap) const
private

◆ getEc() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getEc ( ) const
inline

Definition at line 178 of file NSWPadTriggerL1a.h.

178 { return m_decoded.ec; };

◆ getEc() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getEc ( const std::vector< uint32_t > &  words) const
private

◆ getFlags() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getFlags ( ) const
inline

Definition at line 177 of file NSWPadTriggerL1a.h.

177 { return m_decoded.flags; };

◆ getFlags() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getFlags ( const std::vector< uint32_t > &  words) const
private

◆ getFragid() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getFragid ( ) const
inline

Definition at line 179 of file NSWPadTriggerL1a.h.

179 { return m_decoded.fragid; };

◆ getFragid() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getFragid ( const std::vector< uint32_t > &  words) const
private

◆ getHitPadChannels()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getHitPadChannels ( ) const
inline

Definition at line 162 of file NSWPadTriggerL1a.h.

162 { return m_hit_padchannel; };

◆ getHitPfebs()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getHitPfebs ( ) const
inline

Definition at line 158 of file NSWPadTriggerL1a.h.

158 { return m_hit_pfeb; };

◆ getHitRelBcids()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getHitRelBcids ( ) const
inline

Definition at line 157 of file NSWPadTriggerL1a.h.

157 { return m_hit_relbcid; };

◆ getHits()

std::vector< std::vector<uint8_t> > Muon::nsw::NSWPadTriggerL1a::getHits ( const std::vector< std::vector< uint8_t > > &  bitmap) const
private

◆ getHitTdsChannels()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getHitTdsChannels ( ) const
inline

Definition at line 159 of file NSWPadTriggerL1a.h.

159 { return m_hit_tdschannel; };

◆ getHitVmmChannels()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getHitVmmChannels ( ) const
inline

Definition at line 160 of file NSWPadTriggerL1a.h.

160 { return m_hit_vmmchannel; };

◆ getHitVmms()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getHitVmms ( ) const
inline

Definition at line 161 of file NSWPadTriggerL1a.h.

161 { return m_hit_vmm; };

◆ getL0()

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::getL0 ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex,
const uint32_t  l1size,
const uint32_t  l0size 
) const
private

◆ getL0size()

uint32_t Muon::nsw::NSWPadTriggerL1a::getL0size ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex 
) const
private

◆ getL1()

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::getL1 ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex,
const uint32_t  l1size 
) const
private

◆ getL1id() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getL1id ( ) const
inline

Definition at line 184 of file NSWPadTriggerL1a.h.

184 { return m_decoded.l1id; };

◆ getL1id() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getL1id ( const std::vector< uint32_t > &  words) const
private

◆ getL1size()

uint32_t Muon::nsw::NSWPadTriggerL1a::getL1size ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex 
) const
private

◆ getL2()

uint32_t Muon::nsw::NSWPadTriggerL1a::getL2 ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex 
) const
private

◆ getMult0()

uint32_t Muon::nsw::NSWPadTriggerL1a::getMult0 ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex 
) const
private

◆ getMultiplicity()

uint32_t Muon::nsw::NSWPadTriggerL1a::getMultiplicity ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex 
) const
private

◆ getNumberOfBcids()

uint32_t Muon::nsw::NSWPadTriggerL1a::getNumberOfBcids ( ) const
inline

Definition at line 156 of file NSWPadTriggerL1a.h.

156 { return m_bcid_n; };

◆ getNumberOfHits()

uint32_t Muon::nsw::NSWPadTriggerL1a::getNumberOfHits ( ) const
inline

Definition at line 153 of file NSWPadTriggerL1a.h.

153 { return m_hit_n; };

◆ getNumberOfPfebs()

uint32_t Muon::nsw::NSWPadTriggerL1a::getNumberOfPfebs ( ) const
inline

Definition at line 154 of file NSWPadTriggerL1a.h.

154 { return m_pfeb_n; };

◆ getNumberOfTriggers()

uint32_t Muon::nsw::NSWPadTriggerL1a::getNumberOfTriggers ( ) const
inline

Definition at line 155 of file NSWPadTriggerL1a.h.

155 { return m_trigger_n; };

◆ getOneBcOfCompressedData()

OneBCOfData Muon::nsw::NSWPadTriggerL1a::getOneBcOfCompressedData ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex,
const uint32_t  relbcid,
const Constants::ArrayOfPfebChannels mapPadTriggerToTds,
const Constants::ArrayOfPfebs numberOfChannels 
) const
private

◆ getOrbit() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getOrbit ( ) const
inline

Definition at line 182 of file NSWPadTriggerL1a.h.

182 { return m_decoded.orbit; };

◆ getOrbit() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getOrbit ( const std::vector< uint32_t > &  words) const
private

◆ getOrbit1() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getOrbit1 ( ) const
inline

Definition at line 195 of file NSWPadTriggerL1a.h.

195 { return m_decoded.orbit1; };

◆ getOrbit1() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getOrbit1 ( const std::vector< uint32_t > &  words) const
private

◆ getOrbitid() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getOrbitid ( ) const
inline

Definition at line 194 of file NSWPadTriggerL1a.h.

194 { return m_decoded.orbitid; };

◆ getOrbitid() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getOrbitid ( const std::vector< uint32_t > &  words) const
private

◆ getPadTriggerToTds()

static uint8_t Muon::nsw::NSWPadTriggerL1a::getPadTriggerToTds ( const size_t  pfeb,
const size_t  chan,
const std::string &  size 
)
inlinestatic

Definition at line 312 of file NSWPadTriggerL1a.h.

314  {
315  const auto& chans = (size == "S") ?
318  return chans.at(pfeb).at(chan);
319  }

◆ getPfebAddresses()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getPfebAddresses ( ) const
inline

Definition at line 163 of file NSWPadTriggerL1a.h.

163 { return m_pfeb_addr; };

◆ getPfebDisconnecteds()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getPfebDisconnecteds ( ) const
inline

Definition at line 165 of file NSWPadTriggerL1a.h.

165 { return m_pfeb_disconnected; };

◆ getPfebNChannels()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getPfebNChannels ( ) const
inline

Definition at line 164 of file NSWPadTriggerL1a.h.

164 { return m_pfeb_nchan; };

◆ getPhiid0()

uint32_t Muon::nsw::NSWPadTriggerL1a::getPhiid0 ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex 
) const
private

◆ getPhiids()

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::getPhiids ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex 
) const
private

◆ getSecid() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getSecid ( ) const
inline

Definition at line 180 of file NSWPadTriggerL1a.h.

180 { return m_decoded.secid; };

◆ getSecid() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getSecid ( const std::vector< uint32_t > &  words) const
private

◆ getSpare() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getSpare ( ) const
inline

Definition at line 181 of file NSWPadTriggerL1a.h.

181 { return m_decoded.spare; };

◆ getSpare() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getSpare ( const std::vector< uint32_t > &  words) const
private

◆ getStatus() [1/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getStatus ( ) const
inline

Definition at line 196 of file NSWPadTriggerL1a.h.

196 { return m_decoded.status; };

◆ getStatus() [2/2]

uint32_t Muon::nsw::NSWPadTriggerL1a::getStatus ( const std::vector< uint32_t > &  words,
const uint32_t  bitIndex 
) const
private

◆ getTdsChannels()

std::vector< std::vector<uint8_t> > Muon::nsw::NSWPadTriggerL1a::getTdsChannels ( const std::vector< std::vector< uint8_t > > &  hits,
const Constants::ArrayOfPfebChannels mapPadTriggerToTds 
) const
private

◆ getTdsToPadTrigger()

static uint8_t Muon::nsw::NSWPadTriggerL1a::getTdsToPadTrigger ( const size_t  pfeb,
const uint8_t  tdschan,
const std::string &  size 
)
inlinestatic

Definition at line 324 of file NSWPadTriggerL1a.h.

326  {
327  const auto& chans = (size == "S") ?
328  m_mapPadTriggerToTdsS.at(pfeb) :
329  m_mapPadTriggerToTdsL.at(pfeb);
330  return std::distance(chans.begin(), std::find(chans.begin(), chans.end(), tdschan));
331  }

◆ getTriggerBandIds()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getTriggerBandIds ( ) const
inline

Definition at line 166 of file NSWPadTriggerL1a.h.

166 { return m_trigger_bandid; };

◆ getTriggerPhiIds()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getTriggerPhiIds ( ) const
inline

Definition at line 167 of file NSWPadTriggerL1a.h.

167 { return m_trigger_phiid; };

◆ getTriggerRelBcids()

const std::vector<uint32_t>& Muon::nsw::NSWPadTriggerL1a::getTriggerRelBcids ( ) const
inline

Definition at line 168 of file NSWPadTriggerL1a.h.

168 { return m_trigger_relbcid; };

◆ isA()

static bool Muon::nsw::NSWPadTriggerL1a::isA ( const uint32_t  sourceid)
inlinestatic

Definition at line 216 of file NSWPadTriggerL1a.h.

216  {
217  return static_cast<eformat::SubDetector>((sourceid >> 16) & 0xff)
218  == eformat::MUON_STGC_ENDCAP_A_SIDE;
219  }

◆ isC()

static bool Muon::nsw::NSWPadTriggerL1a::isC ( const uint32_t  sourceid)
inlinestatic

Definition at line 224 of file NSWPadTriggerL1a.h.

224  {
225  return not isA(sourceid);
226  }

◆ isCRCValid()

bool Muon::nsw::NSWPadTriggerL1a::isCRCValid ( )
inline

Definition at line 336 of file NSWPadTriggerL1a.h.

336  {
337  return getCRC() == computeCRC();
338  }

◆ isLarge()

static bool Muon::nsw::NSWPadTriggerL1a::isLarge ( const uint32_t  sec)
inlinestatic

Definition at line 202 of file NSWPadTriggerL1a.h.

202  {
203  return sec % 2 == 0;
204  }

◆ isNullPayload()

bool Muon::nsw::NSWPadTriggerL1a::isNullPayload ( const std::vector< uint32_t > &  words) const
private

◆ isSmall()

static bool Muon::nsw::NSWPadTriggerL1a::isSmall ( const uint32_t  sec)
inlinestatic

Definition at line 209 of file NSWPadTriggerL1a.h.

209  {
210  return not isLarge(sec);
211  }

◆ lastValidByteIndex()

uint32_t Muon::nsw::NSWPadTriggerL1a::lastValidByteIndex ( const std::vector< uint32_t > &  words) const
private

◆ layer()

static uint32_t Muon::nsw::NSWPadTriggerL1a::layer ( const uint32_t  pfeb)
inlinestatic

Definition at line 238 of file NSWPadTriggerL1a.h.

238  {
239  return pfeb % Constants::NLAYERS;
240  }

◆ nwords()

unsigned int Muon::nsw::NSWTriggerElink::nwords ( ) const
inlineinherited

Definition at line 55 of file NSWTriggerElink.h.

55 {return m_wordCount;}; //self counted or expected in case it will be possible

◆ nwordsFlx()

unsigned int Muon::nsw::NSWTriggerElink::nwordsFlx ( ) const
inlineinherited

Definition at line 56 of file NSWTriggerElink.h.

56 {return m_wordCountFlx;}; //reading from packet felix header

◆ offlineChannelNumber()

static uint32_t Muon::nsw::NSWPadTriggerL1a::offlineChannelNumber ( const uint32_t  sec,
const uint32_t  pfeb,
const uint32_t  vmm,
const uint32_t  vmmchan 
)
inlinestatic

Definition at line 280 of file NSWPadTriggerL1a.h.

283  {
284  static const Muon::nsw::MapperSTG mapper;
285  return mapper.channel_number(Muon::nsw::OFFLINE_CHANNEL_TYPE_PAD, isLarge(sec), radius(pfeb), layer(pfeb), vmm, vmmchan);
286  }

◆ offlineGasgap()

static uint32_t Muon::nsw::NSWPadTriggerL1a::offlineGasgap ( const uint32_t  pfeb)
inlinestatic

Definition at line 266 of file NSWPadTriggerL1a.h.

266  {
267  return quadlayer(layer(pfeb)) + 1;
268  }

◆ offlineMultilayer()

static uint32_t Muon::nsw::NSWPadTriggerL1a::offlineMultilayer ( const uint32_t  pfeb)
inlinestatic

Definition at line 273 of file NSWPadTriggerL1a.h.

273  {
274  return quad(layer(pfeb)) + 1;
275  }

◆ offlineStationAbsEta()

static uint32_t Muon::nsw::NSWPadTriggerL1a::offlineStationAbsEta ( const uint32_t  pfeb)
inlinestatic

Definition at line 291 of file NSWPadTriggerL1a.h.

291  {
292  return radius(pfeb) + 1;
293  }

◆ offlineStationName()

static std::string Muon::nsw::NSWPadTriggerL1a::offlineStationName ( const uint32_t  sec)
inlinestatic

Definition at line 305 of file NSWPadTriggerL1a.h.

305  {
306  return isLarge(sec) ? "STL" : "STS";
307  }

◆ offlineStationPhi()

static uint32_t Muon::nsw::NSWPadTriggerL1a::offlineStationPhi ( const uint32_t  sourceid)
inlinestatic

Definition at line 298 of file NSWPadTriggerL1a.h.

298  {
299  return sector(sourceid) / 2 + 1;
300  }

◆ quad()

static uint32_t Muon::nsw::NSWPadTriggerL1a::quad ( const uint32_t  pfeb)
inlinestatic

Definition at line 252 of file NSWPadTriggerL1a.h.

252  {
253  return layer(pfeb) / Constants::NLAYERS_PER_QUAD;
254  }

◆ quadlayer()

static uint32_t Muon::nsw::NSWPadTriggerL1a::quadlayer ( const uint32_t  pfeb)
inlinestatic

Definition at line 259 of file NSWPadTriggerL1a.h.

259  {
260  return layer(pfeb) % Constants::NLAYERS_PER_QUAD;
261  }

◆ radius()

static uint32_t Muon::nsw::NSWPadTriggerL1a::radius ( const uint32_t  pfeb)
inlinestatic

Definition at line 231 of file NSWPadTriggerL1a.h.

231  {
232  return pfeb / Constants::NLAYERS;
233  }

◆ roundUpIfOdd()

uint32_t Muon::nsw::NSWPadTriggerL1a::roundUpIfOdd ( const uint32_t  nbytes) const
private

◆ sector()

static uint32_t Muon::nsw::NSWPadTriggerL1a::sector ( const uint32_t  sourceid)
inlinestatic

Definition at line 245 of file NSWPadTriggerL1a.h.

245  {
246  return sourceid & 0xf;
247  }

◆ status()

unsigned int Muon::nsw::NSWTriggerElink::status ( ) const
inlineinherited

Definition at line 57 of file NSWTriggerElink.h.

57 {return m_packet_status;}; //felix status

◆ suspect()

bool Muon::nsw::NSWTriggerElink::suspect ( ) const
inlineinherited

Definition at line 58 of file NSWTriggerElink.h.

58 {return m_packet_sus;}; //elink decoded but with triggering suspects

Member Data Documentation

◆ m_bcid_multiplicity

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_bcid_multiplicity {}
private

Definition at line 538 of file NSWPadTriggerL1a.h.

◆ m_bcid_multzero

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_bcid_multzero {}
private

Definition at line 537 of file NSWPadTriggerL1a.h.

◆ m_bcid_n

uint32_t Muon::nsw::NSWPadTriggerL1a::m_bcid_n {0}
private

Definition at line 522 of file NSWPadTriggerL1a.h.

◆ m_bcid_rel

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_bcid_rel {}
private

Definition at line 535 of file NSWPadTriggerL1a.h.

◆ m_bcid_status

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_bcid_status {}
private

Definition at line 536 of file NSWPadTriggerL1a.h.

◆ m_computedCRC

uint16_t Muon::nsw::NSWPadTriggerL1a::m_computedCRC {0}
private

Definition at line 390 of file NSWPadTriggerL1a.h.

◆ m_decoded

DecodedData Muon::nsw::NSWPadTriggerL1a::m_decoded
private

Definition at line 395 of file NSWPadTriggerL1a.h.

◆ m_elinkId

std::shared_ptr<Muon::nsw::NSWResourceId> Muon::nsw::NSWTriggerElink::m_elinkId
protectedinherited

Definition at line 73 of file NSWTriggerElink.h.

◆ m_elinkWord

uint32_t Muon::nsw::NSWTriggerElink::m_elinkWord {}
protectedinherited

Definition at line 72 of file NSWTriggerElink.h.

◆ m_hasOrbit

bool Muon::nsw::NSWPadTriggerL1a::m_hasOrbit {true}
private

Definition at line 543 of file NSWPadTriggerL1a.h.

◆ m_hit_n

uint32_t Muon::nsw::NSWPadTriggerL1a::m_hit_n {0}
private

Definition at line 519 of file NSWPadTriggerL1a.h.

◆ m_hit_padchannel

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_hit_padchannel {}
private

Definition at line 528 of file NSWPadTriggerL1a.h.

◆ m_hit_pfeb

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_hit_pfeb {}
private

Definition at line 524 of file NSWPadTriggerL1a.h.

◆ m_hit_relbcid

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_hit_relbcid {}
private

Definition at line 523 of file NSWPadTriggerL1a.h.

◆ m_hit_tdschannel

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_hit_tdschannel {}
private

Definition at line 525 of file NSWPadTriggerL1a.h.

◆ m_hit_vmm

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_hit_vmm {}
private

Definition at line 527 of file NSWPadTriggerL1a.h.

◆ m_hit_vmmchannel

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_hit_vmmchannel {}
private

Definition at line 526 of file NSWPadTriggerL1a.h.

◆ m_mapPadTriggerToTdsL

constexpr Constants::ArrayOfPfebChannels Muon::nsw::NSWPadTriggerL1a::m_mapPadTriggerToTdsL
staticconstexprprivate

Definition at line 562 of file NSWPadTriggerL1a.h.

◆ m_mapPadTriggerToTdsS

constexpr Constants::ArrayOfPfebChannels Muon::nsw::NSWPadTriggerL1a::m_mapPadTriggerToTdsS
staticconstexprprivate

Definition at line 756 of file NSWPadTriggerL1a.h.

◆ m_numberOfChannelsL

constexpr Constants::ArrayOfPfebs Muon::nsw::NSWPadTriggerL1a::m_numberOfChannelsL
staticconstexprprivate
Initial value:
= {{
102, 96, 96, 104, 96, 96, 91, 96,
56, 56, 75, 75, 56, 56, 56, 56,
60, 60, 70, 70, 52, 52, 56, 56,
}}

Definition at line 548 of file NSWPadTriggerL1a.h.

◆ m_numberOfChannelsS

constexpr Constants::ArrayOfPfebs Muon::nsw::NSWPadTriggerL1a::m_numberOfChannelsS
staticconstexprprivate
Initial value:
= {{
68, 68, 72, 72, 68, 68, 51, 51,
48, 48, 45, 45, 30, 30, 45, 45,
38, 39, 42, 40, 24, 24, 38, 39,
}}

Definition at line 553 of file NSWPadTriggerL1a.h.

◆ m_packet_status

unsigned int Muon::nsw::NSWTriggerElink::m_packet_status {}
protectedinherited

Definition at line 68 of file NSWTriggerElink.h.

◆ m_packet_sus

bool Muon::nsw::NSWTriggerElink::m_packet_sus {}
protectedinherited

Definition at line 69 of file NSWTriggerElink.h.

◆ m_pfeb_addr

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_pfeb_addr {}
private

Definition at line 529 of file NSWPadTriggerL1a.h.

◆ m_pfeb_disconnected

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_pfeb_disconnected {}
private

Definition at line 531 of file NSWPadTriggerL1a.h.

◆ m_pfeb_n

uint32_t Muon::nsw::NSWPadTriggerL1a::m_pfeb_n {0}
private

Definition at line 520 of file NSWPadTriggerL1a.h.

◆ m_pfeb_nchan

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_pfeb_nchan {}
private

Definition at line 530 of file NSWPadTriggerL1a.h.

◆ m_trigger_bandid

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_trigger_bandid {}
private

Definition at line 532 of file NSWPadTriggerL1a.h.

◆ m_trigger_n

uint32_t Muon::nsw::NSWPadTriggerL1a::m_trigger_n {0}
private

Definition at line 521 of file NSWPadTriggerL1a.h.

◆ m_trigger_phiid

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_trigger_phiid {}
private

Definition at line 533 of file NSWPadTriggerL1a.h.

◆ m_trigger_relbcid

std::vector<uint32_t> Muon::nsw::NSWPadTriggerL1a::m_trigger_relbcid {}
private

Definition at line 534 of file NSWPadTriggerL1a.h.

◆ m_wordCount

unsigned int Muon::nsw::NSWTriggerElink::m_wordCount {}
protectedinherited

Definition at line 66 of file NSWTriggerElink.h.

◆ m_wordCountFlx

unsigned int Muon::nsw::NSWTriggerElink::m_wordCountFlx {}
protectedinherited

Definition at line 67 of file NSWTriggerElink.h.


The documentation for this class was generated from the following file:
Muon::nsw::NSWPadTriggerL1a::DecodedData::secid
uint32_t secid
Definition: NSWPadTriggerL1a.h:375
Muon::nsw::NSWPadTriggerL1a::m_mapPadTriggerToTdsL
static constexpr Constants::ArrayOfPfebChannels m_mapPadTriggerToTdsL
Definition: NSWPadTriggerL1a.h:562
Muon::nsw::NSWPadTriggerL1a::DecodedData::status
uint32_t status
Definition: NSWPadTriggerL1a.h:384
Muon::nsw::NSWPadTriggerL1a::m_pfeb_nchan
std::vector< uint32_t > m_pfeb_nchan
Definition: NSWPadTriggerL1a.h:530
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
Muon::nsw::NSWPadTriggerL1a::m_hit_tdschannel
std::vector< uint32_t > m_hit_tdschannel
Definition: NSWPadTriggerL1a.h:525
Muon::nsw::NSWPadTriggerL1a::m_mapPadTriggerToTdsS
static constexpr Constants::ArrayOfPfebChannels m_mapPadTriggerToTdsS
Definition: NSWPadTriggerL1a.h:756
Muon::nsw::NSWPadTriggerL1a::computeCRC
uint16_t computeCRC() const
Definition: NSWPadTriggerL1a.h:343
Muon::nsw::NSWPadTriggerL1a::isLarge
static bool isLarge(const uint32_t sec)
Definition: NSWPadTriggerL1a.h:202
Muon::nsw::MapperSTG::channel_number
uint16_t channel_number(uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer, uint16_t vmm, uint16_t vmm_chan) const
Definition: MapperSTG.cxx:9
Muon::nsw::NSWPadTriggerL1a::isA
static bool isA(const uint32_t sourceid)
Definition: NSWPadTriggerL1a.h:216
Muon::nsw::NSWPadTriggerL1a::m_hit_vmm
std::vector< uint32_t > m_hit_vmm
Definition: NSWPadTriggerL1a.h:527
Muon::nsw::NSWPadTriggerL1a::m_bcid_rel
std::vector< uint32_t > m_bcid_rel
Definition: NSWPadTriggerL1a.h:535
Muon::nsw::NSWPadTriggerL1a::sector
static uint32_t sector(const uint32_t sourceid)
Definition: NSWPadTriggerL1a.h:245
Muon::nsw::NSWPadTriggerL1a::m_bcid_multzero
std::vector< uint32_t > m_bcid_multzero
Definition: NSWPadTriggerL1a.h:537
Muon::nsw::NSWPadTriggerL1a::m_hit_relbcid
std::vector< uint32_t > m_hit_relbcid
Definition: NSWPadTriggerL1a.h:523
Muon::nsw::NSWPadTriggerL1a::m_bcid_n
uint32_t m_bcid_n
Definition: NSWPadTriggerL1a.h:522
Muon::nsw::NSWPadTriggerL1a::quad
static uint32_t quad(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:252
Muon::nsw::NSWPadTriggerL1a::m_pfeb_disconnected
std::vector< uint32_t > m_pfeb_disconnected
Definition: NSWPadTriggerL1a.h:531
Muon::nsw::NSWPadTriggerL1a::DecodedData::orbit1
uint32_t orbit1
Definition: NSWPadTriggerL1a.h:383
Muon::nsw::NSWPadTriggerL1a::DecodedData::spare
uint32_t spare
Definition: NSWPadTriggerL1a.h:380
Muon::nsw::OFFLINE_CHANNEL_TYPE_PAD
@ OFFLINE_CHANNEL_TYPE_PAD
Definition: NSWDecodeHelper.h:22
Muon::nsw::NSWPadTriggerL1a::DecodedData::ec
uint32_t ec
Definition: NSWPadTriggerL1a.h:376
Muon::nsw::NSWPadTriggerL1a::quadlayer
static uint32_t quadlayer(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:259
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
Muon::nsw::NSWPadTriggerL1a::layer
static uint32_t layer(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:238
Muon::nsw::NSWPadTriggerL1a::m_trigger_relbcid
std::vector< uint32_t > m_trigger_relbcid
Definition: NSWPadTriggerL1a.h:534
Muon::nsw::NSWPadTriggerL1a::radius
static uint32_t radius(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:231
Muon::nsw::NSWPadTriggerL1a::m_hit_n
uint32_t m_hit_n
Definition: NSWPadTriggerL1a.h:519
Muon::nsw::NSWPadTriggerL1a::getCRC
uint16_t getCRC() const
Definition: NSWPadTriggerL1a.h:189
ReadCellNoiseFromCool.chan
chan
Definition: ReadCellNoiseFromCool.py:52
Muon::nsw::NSWPadTriggerL1a::DecodedData::l1id
uint32_t l1id
Definition: NSWPadTriggerL1a.h:381
Muon::nsw::NSWPadTriggerL1a::DecodedData::fragid
uint32_t fragid
Definition: NSWPadTriggerL1a.h:374
Muon::nsw::NSWPadTriggerL1a::DecodedData::crc
uint16_t crc
Definition: NSWPadTriggerL1a.h:386
Muon::nsw::NSWPadTriggerL1a::m_trigger_bandid
std::vector< uint32_t > m_trigger_bandid
Definition: NSWPadTriggerL1a.h:532
Muon::nsw::NSWPadTriggerL1a::m_hit_pfeb
std::vector< uint32_t > m_hit_pfeb
Definition: NSWPadTriggerL1a.h:524
Muon::nsw::NSWPadTriggerL1a::m_trigger_n
uint32_t m_trigger_n
Definition: NSWPadTriggerL1a.h:521
Muon::nsw::NSWPadTriggerL1a::DecodedData::orbitid
uint32_t orbitid
Definition: NSWPadTriggerL1a.h:382
Muon::nsw::NSWPadTriggerL1a::DecodedData::flags
uint32_t flags
Definition: NSWPadTriggerL1a.h:377
Muon::nsw::NSWPadTriggerL1a::m_bcid_status
std::vector< uint32_t > m_bcid_status
Definition: NSWPadTriggerL1a.h:536
Muon::nsw::NSWPadTriggerL1a::m_hit_padchannel
std::vector< uint32_t > m_hit_padchannel
Definition: NSWPadTriggerL1a.h:528
Muon::nsw::Constants::NLAYERS_PER_QUAD
constexpr uint32_t NLAYERS_PER_QUAD
Definition: NSWPadTriggerL1a.h:38
Muon::nsw::NSWPadTriggerL1a::m_pfeb_addr
std::vector< uint32_t > m_pfeb_addr
Definition: NSWPadTriggerL1a.h:529
Muon::nsw::NSWPadTriggerL1a::m_pfeb_n
uint32_t m_pfeb_n
Definition: NSWPadTriggerL1a.h:520
Muon::nsw::NSWPadTriggerL1a::m_hit_vmmchannel
std::vector< uint32_t > m_hit_vmmchannel
Definition: NSWPadTriggerL1a.h:526
Muon::nsw::Constants::NLAYERS
constexpr uint32_t NLAYERS
Definition: NSWPadTriggerL1a.h:37
Muon::nsw::NSWPadTriggerL1a::m_bcid_multiplicity
std::vector< uint32_t > m_bcid_multiplicity
Definition: NSWPadTriggerL1a.h:538
Muon::nsw::NSWPadTriggerL1a::m_decoded
DecodedData m_decoded
Definition: NSWPadTriggerL1a.h:395
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54
Muon::nsw::NSWPadTriggerL1a::m_computedCRC
uint16_t m_computedCRC
Definition: NSWPadTriggerL1a.h:390
Muon::nsw::NSWPadTriggerL1a::DecodedData::bcid
uint32_t bcid
Definition: NSWPadTriggerL1a.h:378
python.LArCondContChannels.chans
list chans
Definition: LArCondContChannels.py:638
Muon::nsw::NSWPadTriggerL1a::m_trigger_phiid
std::vector< uint32_t > m_trigger_phiid
Definition: NSWPadTriggerL1a.h:533
Muon::nsw::NSWPadTriggerL1a::DecodedData::orbit
uint32_t orbit
Definition: NSWPadTriggerL1a.h:379
Muon::nsw::MapperSTG
Definition: MapperSTG.h:18