File indexing completed on 2023-03-17 11:11:13
0001 #include "L1Trigger/DTTriggerPhase2/interface/DTprimitive.h"
0002 #include "L1Trigger/DTTriggerPhase2/interface/constants.h"
0003 #include <iostream>
0004 #include <iomanip>
0005
0006 using namespace cmsdt;
0007
0008
0009
0010 DTPrimitive::DTPrimitive() {
0011 cameraId_ = -1;
0012 superLayerId_ = -1;
0013 layerId_ = -1;
0014 channelId_ = -1;
0015 tdcTimeStamp_ = -1;
0016 orbit_ = -1;
0017 timeCorrection_ = 0;
0018 laterality_ = NONE;
0019
0020 for (int i = 0; i < PAYLOAD_ENTRIES; i++)
0021 setPayload(0.0, i);
0022 }
0023
0024 DTPrimitive::DTPrimitive(DTPrimitivePtr& ptr) {
0025 setTimeCorrection(ptr->timeCorrection());
0026 setTDCTimeStamp(ptr->tdcTimeStamp());
0027 setOrbit(ptr->orbit());
0028 setChannelId(ptr->channelId());
0029 setLayerId(ptr->layerId());
0030 setCameraId(ptr->cameraId());
0031 setSuperLayerId(ptr->superLayerId());
0032 setLaterality(ptr->laterality());
0033
0034 for (int i = 0; i < PAYLOAD_ENTRIES; i++)
0035 setPayload(ptr->payLoad(i), i);
0036 }
0037
0038 DTPrimitive::DTPrimitive(DTPrimitive* ptr) {
0039 setTimeCorrection(ptr->timeCorrection());
0040 setTDCTimeStamp(ptr->tdcTimeStamp());
0041 setOrbit(ptr->orbit());
0042 setChannelId(ptr->channelId());
0043 setLayerId(ptr->layerId());
0044 setCameraId(ptr->cameraId());
0045 setSuperLayerId(ptr->superLayerId());
0046 setLaterality(ptr->laterality());
0047
0048 for (int i = 0; i < PAYLOAD_ENTRIES; i++)
0049 setPayload(ptr->payLoad(i), i);
0050 }
0051
0052 DTPrimitive::~DTPrimitive() {}
0053
0054
0055
0056
0057 bool DTPrimitive::isValidTime(void) { return (tdcTimeStamp_ >= 0 ? true : false); }
0058
0059 float DTPrimitive::wireHorizPos(void) {
0060
0061 float wireHorizPos = CELL_LENGTH * channelId();
0062
0063 if (layerId() == 0 || layerId() == 2)
0064 wireHorizPos += CELL_SEMILENGTH;
0065 return wireHorizPos;
0066 }