|
ATLAS Offline Software
|
#include <CscRODReadOutV1.h>
|
| CscRODReadOutV1 () |
|
| CscRODReadOutV1 (double startTime, uint16_t samplingTime, double signalWidth, uint16_t numIntegration) |
|
| ~CscRODReadOutV1 ()=default |
|
uint32_t | getHeaderSize () |
|
uint32_t | getFooterSize () |
|
uint32_t | numSamples () |
|
uint32_t | latency () |
|
uint32_t | samplingRate () |
|
uint32_t | numDPU () |
|
void | triggerInfo (uint32_t *trigger) |
|
uint32_t | dpuHeader () |
|
uint32_t | dpuHeaderSize () |
|
double | getSamplingTime () |
|
void | setSamplingTime (double time) |
|
double | getStartTime () |
|
double | getConversion () |
|
double | getMaxTimeBin () |
|
uint32_t | getSourceID (uint16_t side, uint16_t rodId) |
|
void | encodeFragments (const std::vector< uint16_t > &litude, std::vector< uint32_t > &v) const |
|
void | set (const CscIdHelper *cscHelper) |
|
void | setParams (double timeOffset, double samplingTime, double signalWidth) |
|
void | setParams (double samplingTime) |
|
bool | isDPU (const uint32_t fragment) const |
|
bool | discard (const uint32_t fragment) const |
|
bool | isAmplitude (const uint16_t fragment) const |
|
bool | isAddress (const uint32_t fragment) const |
|
void | decodeSourceID (uint32_t sourceId) |
|
void | decodeAmplitude (const uint32_t fragment) |
|
void | decodeAddress (const uint32_t fragment) |
|
Identifier | decodeAddress () |
|
uint32_t | hashIdentifier (const Identifier &moduleId) |
|
uint32_t | numberOfStrips (const uint32_t fragment) |
|
void | setAddress (const uint32_t address) |
|
Identifier | decodeAddress (const Identifier &moduleId) |
|
Identifier | decodeAddress (const Identifier &moduleId, int j) |
|
int | findCharge (const std::vector< uint16_t > &litude, double &time) |
|
double | signal_amplitude (double samplingTime) const |
|
uint32_t | address (const Identifier &channelId, int &eta, int &phi) const |
|
uint16_t | sourceID () const |
|
uint16_t | moduleType () const |
|
uint16_t | subDetectorId () const |
|
uint16_t | rodId () const |
|
uint16_t | getAmp1 () const |
|
uint16_t | getAmp2 () const |
|
uint32_t | address () const |
|
Definition at line 19 of file CscRODReadOutV1.h.
◆ CscRODReadOutV1() [1/2]
CscRODReadOutV1::CscRODReadOutV1 |
( |
| ) |
|
◆ CscRODReadOutV1() [2/2]
CscRODReadOutV1::CscRODReadOutV1 |
( |
double |
startTime, |
|
|
uint16_t |
samplingTime, |
|
|
double |
signalWidth, |
|
|
uint16_t |
numIntegration |
|
) |
| |
◆ ~CscRODReadOutV1()
CscRODReadOutV1::~CscRODReadOutV1 |
( |
| ) |
|
|
default |
◆ address() [1/2]
uint32_t CscRODReadOutV1::address |
( |
| ) |
const |
|
inline |
◆ address() [2/2]
uint32_t CscRODReadOutV1::address |
( |
const Identifier & |
channelId, |
|
|
int & |
eta, |
|
|
int & |
phi |
|
) |
| const |
|
inline |
Definition at line 266 of file CscRODReadOutV1.h.
287 nameIndex << 16 |
phiIndex << 13 | etaIndex << 12 | chamberIndex << 11 | layerIndex << 9 | stripType << 8 | stripNumber;
◆ decodeAddress() [1/4]
◆ decodeAddress() [2/4]
◆ decodeAddress() [3/4]
◆ decodeAddress() [4/4]
void CscRODReadOutV1::decodeAddress |
( |
const uint32_t |
fragment | ) |
|
|
inline |
conversion of the chamnerLayer index into the new format
Definition at line 183 of file CscRODReadOutV1.h.
189 int chamberLayer = ((
address & 0x00000800) >> 11) + 1;
190 int wireLayer = ((
address & 0x00000600) >> 9) + 1;
191 int measuresPhi = ((
address & 0x00000100) >> 8);
204 m_address = nameIndex << 16 |
phiIndex << 13 | etaIndex << 12 | chamberIndex << 11 | layerIndex << 9 | stripType << 8 | stripNumber;
◆ decodeAmplitude()
void CscRODReadOutV1::decodeAmplitude |
( |
const uint32_t |
fragment | ) |
|
|
inline |
◆ decodeSourceID()
void CscRODReadOutV1::decodeSourceID |
( |
uint32_t |
sourceId | ) |
|
|
inline |
◆ discard()
bool CscRODReadOutV1::discard |
( |
const uint32_t |
fragment | ) |
const |
|
inline |
◆ dpuHeader()
uint32_t CscRODReadOutV1::dpuHeader |
( |
| ) |
|
|
inline |
◆ dpuHeaderSize()
uint32_t CscRODReadOutV1::dpuHeaderSize |
( |
| ) |
|
|
inline |
◆ encodeFragments()
void CscRODReadOutV1::encodeFragments |
( |
const std::vector< uint16_t > & |
amplitude, |
|
|
std::vector< uint32_t > & |
v |
|
) |
| const |
pedestal
Definition at line 66 of file CscRODReadOutV1.cxx.
67 int numberOfFragments = amplitude.size();
73 while (j < numberOfFragments) {
◆ findCharge()
int CscRODReadOutV1::findCharge |
( |
const std::vector< uint16_t > & |
amplitude, |
|
|
double & |
time |
|
) |
| |
do a parabolic fit - from Nir and David
calculate the charge and the time need to use the correct calibration
assuming amplitude[0] gives the pedestal
Definition at line 83 of file CscRODReadOutV1.cxx.
89 int numberOfSamplings = amplitude.size();
93 for (
int i = 0;
i < numberOfSamplings;
i++) {
94 if (amplitude[
i] >
max) {
101 if (maxIndex < 0 || maxIndex >= numberOfSamplings)
return charge;
106 else if (maxIndex == (numberOfSamplings - 1))
107 return amplitude[numberOfSamplings - 1];
110 double y1 = amplitude[maxIndex - 1];
111 double y2 = amplitude[maxIndex];
112 double y3 = amplitude[maxIndex + 1];
113 a = 0.5 * (y3 +
y1 - 2 *
y2);
119 double offset = (
a == 0) ? 0 : -
b / (2 *
a);
◆ getAmp1()
uint16_t CscRODReadOutV1::getAmp1 |
( |
| ) |
const |
|
inline |
◆ getAmp2()
uint16_t CscRODReadOutV1::getAmp2 |
( |
| ) |
const |
|
inline |
◆ getConversion()
double CscRODReadOutV1::getConversion |
( |
| ) |
|
|
inline |
◆ getFooterSize()
uint32_t CscRODReadOutV1::getFooterSize |
( |
| ) |
|
|
inline |
◆ getHeaderSize()
uint32_t CscRODReadOutV1::getHeaderSize |
( |
| ) |
|
|
inline |
◆ getMaxTimeBin()
double CscRODReadOutV1::getMaxTimeBin |
( |
| ) |
|
|
inline |
◆ getSamplingTime()
double CscRODReadOutV1::getSamplingTime |
( |
| ) |
|
|
inline |
◆ getSourceID()
uint32_t CscRODReadOutV1::getSourceID |
( |
uint16_t |
side, |
|
|
uint16_t |
rodId |
|
) |
| |
|
inline |
◆ getStartTime()
double CscRODReadOutV1::getStartTime |
( |
| ) |
|
|
inline |
◆ hashIdentifier()
◆ isAddress()
bool CscRODReadOutV1::isAddress |
( |
const uint32_t |
fragment | ) |
const |
|
inline |
◆ isAmplitude()
bool CscRODReadOutV1::isAmplitude |
( |
const uint16_t |
fragment | ) |
const |
|
inline |
◆ isDPU()
bool CscRODReadOutV1::isDPU |
( |
const uint32_t |
fragment | ) |
const |
|
inline |
◆ latency()
uint32_t CscRODReadOutV1::latency |
( |
| ) |
|
|
inline |
◆ moduleType()
uint16_t CscRODReadOutV1::moduleType |
( |
| ) |
const |
|
inline |
◆ numberOfStrips()
uint32_t CscRODReadOutV1::numberOfStrips |
( |
const uint32_t |
fragment | ) |
|
|
inline |
◆ numDPU()
uint32_t CscRODReadOutV1::numDPU |
( |
| ) |
|
|
inline |
◆ numSamples()
uint32_t CscRODReadOutV1::numSamples |
( |
| ) |
|
|
inline |
◆ rodId()
uint16_t CscRODReadOutV1::rodId |
( |
| ) |
const |
|
inline |
◆ samplingRate()
uint32_t CscRODReadOutV1::samplingRate |
( |
| ) |
|
|
inline |
◆ set()
◆ set32bits()
void CscRODReadOutV1::set32bits |
( |
const uint16_t * |
v16, |
|
|
uint32_t & |
v32 |
|
) |
| const |
|
inlineprivate |
◆ setAddress()
void CscRODReadOutV1::setAddress |
( |
const uint32_t |
address | ) |
|
|
inline |
◆ setParams() [1/2]
void CscRODReadOutV1::setParams |
( |
double |
samplingTime | ) |
|
|
inline |
◆ setParams() [2/2]
void CscRODReadOutV1::setParams |
( |
double |
timeOffset, |
|
|
double |
samplingTime, |
|
|
double |
signalWidth |
|
) |
| |
|
inline |
◆ setSamplingTime()
void CscRODReadOutV1::setSamplingTime |
( |
double |
time | ) |
|
|
inline |
◆ signal()
double CscRODReadOutV1::signal |
( |
double |
z | ) |
const |
|
inlineprivate |
◆ signal_amplitude()
double CscRODReadOutV1::signal_amplitude |
( |
double |
samplingTime | ) |
const |
|
inline |
◆ sourceID()
uint16_t CscRODReadOutV1::sourceID |
( |
| ) |
const |
|
inline |
◆ subDetectorId()
uint16_t CscRODReadOutV1::subDetectorId |
( |
| ) |
const |
|
inline |
◆ triggerInfo()
void CscRODReadOutV1::triggerInfo |
( |
uint32_t * |
trigger | ) |
|
|
inline |
◆ BODY_ADDRESS
const uint32_t CscRODReadOutV1::BODY_ADDRESS = 0x00000000 |
|
staticprivate |
◆ BODY_AMPLITUDE
const uint16_t CscRODReadOutV1::BODY_AMPLITUDE = 0x0000 |
|
staticprivate |
◆ DPU_DISCARD
const uint32_t CscRODReadOutV1::DPU_DISCARD = 0xFFFFFFFF |
|
staticprivate |
◆ DPU_HEADER_MARKER
const uint32_t CscRODReadOutV1::DPU_HEADER_MARKER = 0xC5F38856 |
|
staticprivate |
◆ DPU_HEADER_SIZE
const uint32_t CscRODReadOutV1::DPU_HEADER_SIZE = 13 |
|
staticprivate |
◆ LATENCY
const uint32_t CscRODReadOutV1::LATENCY = 0 |
|
staticprivate |
◆ m_address
uint32_t CscRODReadOutV1::m_address |
|
private |
◆ m_amp1
uint16_t CscRODReadOutV1::m_amp1 |
|
private |
◆ m_amp2
uint16_t CscRODReadOutV1::m_amp2 |
|
private |
◆ m_CHARGE_TO_ADC_COUNT
double CscRODReadOutV1::m_CHARGE_TO_ADC_COUNT |
|
private |
◆ m_cscHelper
◆ m_moduleType
uint16_t CscRODReadOutV1::m_moduleType |
|
private |
◆ m_norm
double CscRODReadOutV1::m_norm |
|
private |
◆ m_NUMBER_OF_INTEGRATION
int CscRODReadOutV1::m_NUMBER_OF_INTEGRATION |
|
private |
◆ m_rodId
uint16_t CscRODReadOutV1::m_rodId |
|
private |
◆ m_SAMPLING_TIME
double CscRODReadOutV1::m_SAMPLING_TIME |
|
private |
◆ m_SIGNAL_WIDTH
double CscRODReadOutV1::m_SIGNAL_WIDTH |
|
private |
◆ m_sourceID
uint16_t CscRODReadOutV1::m_sourceID |
|
private |
◆ m_subDetectorId
uint16_t CscRODReadOutV1::m_subDetectorId |
|
private |
◆ m_TIME_OFFSET
double CscRODReadOutV1::m_TIME_OFFSET |
|
private |
◆ m_TRIGGER_INFO
uint32_t CscRODReadOutV1::m_TRIGGER_INFO[3] {} |
|
private |
◆ m_Z0
double CscRODReadOutV1::m_Z0 |
|
private |
◆ MODULE_TYPE
const uint16_t CscRODReadOutV1::MODULE_TYPE = 0x00 |
|
staticprivate |
◆ NUM_DPU
const uint32_t CscRODReadOutV1::NUM_DPU = 12 |
|
staticprivate |
◆ NUM_SAMPLES
const uint32_t CscRODReadOutV1::NUM_SAMPLES = 25 |
|
staticprivate |
◆ RATE
const uint32_t CscRODReadOutV1::RATE = 40 |
|
staticprivate |
◆ ROD_FOOTER_SIZE
const uint32_t CscRODReadOutV1::ROD_FOOTER_SIZE = 0x0 |
|
staticprivate |
◆ ROD_HEADER_SIZE
const uint32_t CscRODReadOutV1::ROD_HEADER_SIZE = 12 |
|
staticprivate |
◆ SOURCE_ID
const uint16_t CscRODReadOutV1::SOURCE_ID = 0x00 |
|
staticprivate |
The documentation for this class was generated from the following files:
uint32_t m_TRIGGER_INFO[3]
static const uint32_t ROD_HEADER_SIZE
Identifier decodeAddress()
constexpr uint8_t stationPhi
station Phi 1 to 8
Scalar phi() const
phi method
static const uint32_t NUM_DPU
MHz.
IdContext channel_context() const
id for channel
Scalar eta() const
pseudorapidity method
double m_CHARGE_TO_ADC_COUNT
const CscIdHelper * m_cscHelper
int stationName(const Identifier &id) const
static const uint32_t RATE
static const uint32_t DPU_HEADER_SIZE
static const uint16_t MODULE_TYPE
int wireLayer(const Identifier &id) const
static const uint32_t DPU_DISCARD
static const uint16_t BODY_AMPLITUDE
double signal(double z) const
static const uint32_t LATENCY
uint16_t sourceID() const
int m_NUMBER_OF_INTEGRATION
int stationPhi(const Identifier &id) const
static const uint16_t SOURCE_ID
Identifier channelID(int stationName, int stationEta, int stationPhi, int chamberLayer, int wireLayer, int measuresPhi, int strip) const
double charge(const T &p)
int stationEta(const Identifier &id) const
Identifier elementID(int stationName, int stationEta, int stationPhi) const
unsigned int phiIndex(float phi, float binsize)
calculate phi index for a given phi
def time(flags, cells_name, *args, **kw)
virtual int get_hash(const Identifier &id, IdentifierHash &hash_id, const IdContext *context=0) const override
Create hash id from compact id (return == 0 for OK)
int strip(const Identifier &id) const
void set32bits(const uint16_t *v16, uint32_t &v32) const
static const uint32_t DPU_HEADER_MARKER
static const uint32_t NUM_SAMPLES
bool measuresPhi(const Identifier &id) const override
constexpr uint8_t stationEta
1 to 3
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
constexpr int pow(int base, int exp) noexcept
static const uint32_t ROD_FOOTER_SIZE
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
static const uint32_t BODY_ADDRESS
int chamberLayer(const Identifier &id) const