9 #include "Identifier/Identifier.h"
13 ISvcLocator* pSvcLocator)
24 return StatusCode::SUCCESS;
32 std::vector<float> deltaT;
33 unsigned int multiLG = 0;
34 unsigned int multiHG = 0;
35 std::vector<deltat_data> deltaTdataA_HG;
36 std::vector<deltat_data> deltaTdataC_HG;
42 return StatusCode::SUCCESS;
44 int num_collect = bcmRDO->
size();
45 if (num_collect != 16) {
51 channelID =
chan->getChannel();
55 if (bcm->getPulse1Width() != 0 && bcm->getLVL1A() == 18) {
61 deltat_data hit(channelID, bcm->getLVL1A(), bcm->getPulse1Position());
62 if (channelID > 7 && channelID < 12) {
63 deltaTdataA_HG.push_back(hit);
66 deltaTdataC_HG.push_back(hit);
69 if (bcm->getPulse2Width() != 0) {
76 bcm->getPulse2Position());
77 if (channelID > 7 && channelID < 12) {
78 deltaTdataA_HG.push_back(hit2);
80 if (channelID > 11 && bcm->getPulse2Width() != 0) {
81 deltaTdataC_HG.push_back(hit2);
89 for (
auto&
i : deltaTdataA_HG) {
90 for (
auto& j : deltaTdataC_HG) {
91 if (
i.m_bcid == j.m_bcid) {
92 float deltaTtime = (
static_cast<float>(
i.m_position) -
93 static_cast<float>(j.m_position)) /
95 deltaT.push_back(deltaTtime);
102 if (bbw.
record(std::make_unique<BcmCollisionTime>(multiLG, multiHG, deltaT))
105 return StatusCode::FAILURE;
107 return StatusCode::SUCCESS;