24 persObj->
m_id = std::max(std::min(transObj->
identify(),0xFFF),0);
26 if (persObj->
m_id > 0 && persObj->
m_id < 0xFFF) {
32 persObj->
m_id |= std::min(transObj->
GetDecision().size(),maxsize) << 20;
33 unsigned int bit=0x1000;
34 for (std::vector<bool>::const_iterator it = transObj->
GetDecision().begin(); it != transObj->
GetDecision().end(); ++it) {
39 if (bit >= 0x100000)
break;
46 if (!transObj->
GetEne().empty()) {
47 persObj->
m_id |= std::min(transObj->
GetEne().size(),maxsize) << 24;
49 for (
float f : transObj->
GetEne()) {
50 persObj->
m_data.push_back(f);
51 if ((++cnt)>=maxsize)
break;
56 if (!transObj->
GetTime().empty()) {
57 persObj->
m_id |= std::min(transObj->
GetTime().size(),maxsize) << 28;
59 for (
float f : transObj->
GetTime()) {
60 persObj->
m_data.push_back(f);
61 if ((++cnt)>=maxsize)
break;
81 std::cout <<
"Persistent_TMRO " << transObj->
m_id <<
" id " << std::hex << persObj->
m_id
82 <<
" size " << std::dec << ((persObj->
m_id>>20)&0xF) <<
" " << persObj->
m_data.size() <<
" val ";
83 for (
unsigned int i=0; i<((persObj->
m_id>>20)&0xF); ++i) {
84 std::cout <<
" " << (persObj->
m_id>>(12+i) & 1);
87 for (std::vector<float>::const_iterator it = persObj->
m_data.begin(); it != persObj->
m_data.end(); ++it) {
88 std::cout <<
" " << (*it);
90 std::cout << std::endl;
97 unsigned int id=persObj->
m_id;
98 int trans_id =
id & 0xFFF;
100 size_t n_elements = persObj->
m_data.size();
101 std::vector<float>::const_iterator it = persObj->
m_data.begin();
103 std::vector<bool> decision;
104 std::vector<float> ene;
105 std::vector<float> time;
106 if (trans_id > 0 && trans_id < 0xFFF) {
108 size_t n0 = (
id >> 20) & 0xF;
109 size_t n1 = (
id >> 24) & 0xF;
110 size_t n2 = (
id >> 28) & 0xF;
114 decision.reserve(n0);
115 for (
size_t i=0; i<n0; ++i) {
116 decision.push_back((
bool) (
id & 1) );
122 if (n1>n_elements) n1=n_elements;
123 ene.assign (it, it+n1);
128 if (n2>n_elements) n2=n_elements;
129 time.assign (it, it+n2);
135 std::vector<float> thresholds (it, persObj->
m_data.end());
141 std::move(thresholds));
145 std::cout <<
"Persistent_TMRO " << transObj->
m_id <<
" id " << std::hex << persObj->
m_id
146 <<
" size " << std::dec << ((persObj->
m_id>>20)&0xF) <<
" " << persObj->
m_data.size() <<
" val ";
147 for (
unsigned int i=0; i<((persObj->
m_id>>20)&0xF); ++i) {
148 std::cout <<
" " << (persObj->
m_id>>(12+i) & 1);
151 for (std::vector<float>::const_iterator it = persObj->
m_data.begin(); it != persObj->
m_data.end(); ++it) {
152 std::cout <<
" " << (*it);
154 std::cout << std::endl;
virtual void transToPers(const TileMuonReceiverObj *transObj, TileMuonReceiverObj_p1 *persObj, MsgStream &log) const override
Method creating the persistent representation TileMuonReceiverObj_p1 from its transient representatio...
virtual void persToTrans(const TileMuonReceiverObj_p1 *persObj, TileMuonReceiverObj *transObj, MsgStream &log) const override
Method creating the transient representation TileMuonReceiverObj from its persistent representation T...