ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TestBeam
TBTPCnv
src
TBTailCatcherCnv_p1.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TBTPCnv/TBTailCatcherCnv_p1.h
"
6
#include "
TBEvent/TBTailCatcher.h
"
7
#include "Identifier/Identifier.h"
8
#include "
TBTPCnv/TBTailCatcher_p1.h
"
9
10
// additional include needed because TBTailCatcher inherits from TBScintillator and has a TBScintillatorCont
11
#include "
TBEvent/TBScintillatorCont.h
"
12
13
14
void
15
TBTailCatcherCnv_p1::persToTrans
(
const
TBTailCatcher_p1
* pers,
16
TBTailCatcher
*
trans
, MsgStream &
/*log*/
)
const
17
{
18
19
const
unsigned
nScints = pers->
m_signal
.size();
20
21
// clear the trans contained and reserve space for the new scints
22
trans
->clear();
23
trans
->reserve(nScints);
24
25
// copy all the scints from the pers to the trans
26
for
(
unsigned
nScintNow=0; nScintNow<nScints; nScintNow++) {
27
TBScintillator
* scint =
new
TBScintillator
();
28
29
// fill in the scint properties
30
scint -> setSignal( pers->
m_signal
[nScintNow] );
31
scint -> setSignalOverflow( pers->
m_signal_overflow
[nScintNow] );
32
scint -> setTimeSignal( pers->
m_time_signal
[nScintNow] );
33
scint -> setTimeOverflow( pers->
m_time_overflow
[nScintNow] );
34
scint -> setDetectorName( pers->
m_tbDetectorName
[nScintNow] );
35
scint -> setOverflow( pers->
m_overflow
[nScintNow] );
36
37
// fill the container with the scint object
38
trans
->addScintillator(scint);
39
40
// log << MSG::DEBUG << "\033[34m" << "\t- pers->trans: scint->isOverflow() " << scint->isOverflow() << "\033[0m" <<endmsg;
41
}
42
43
unsigned
int
nSignals=pers->
m_signals
.size();
44
trans
->m_signals.reserve(nSignals);
45
trans
->m_signals = pers->
m_signals
;
46
47
}
48
49
50
void
51
TBTailCatcherCnv_p1::transToPers
(
const
TBTailCatcher
*
trans
,
52
TBTailCatcher_p1
* pers, MsgStream &
/*log*/
)
const
53
{
54
55
const
unsigned
nScints =
trans
->size();
56
57
pers -> m_signal.reserve(nScints);
58
pers -> m_time_signal.reserve(nScints);
59
pers -> m_signal_overflow.reserve(nScints);
60
pers -> m_time_overflow.reserve(nScints);
61
pers -> m_tbDetectorName.reserve(nScints);
62
pers -> m_overflow.reserve(nScints);
63
64
// iterators for the container
65
TBScintillatorCont::const_iterator
scintIt =
trans
->begin();
66
TBScintillatorCont::const_iterator
scintIt_e =
trans
->end();
67
68
// copy all the scints from the trans to the pers
69
for
(; scintIt!=scintIt_e; ++scintIt) {
70
const
TBScintillator
* scint = * scintIt;
71
72
// fill in the scint properties
73
pers -> m_signal.push_back( scint->
getSignal
() );
74
pers -> m_signal_overflow.push_back( scint->
isSignalOverflow
() );
75
pers -> m_time_signal.push_back( scint->
getTimeSignal
() );
76
pers -> m_time_overflow.push_back( scint->
isTimeOverflow
() );
77
pers -> m_tbDetectorName.push_back( scint->
getDetectorName
() );
78
pers -> m_overflow.push_back( scint->
isOverflow
() );
79
}
80
81
pers->
m_signals
=
trans
->getSignals();
82
}
83
TBScintillatorCont.h
TBTailCatcherCnv_p1.h
TBTailCatcher.h
TBTailCatcher_p1.h
DataVector< TBScintillator >::const_iterator
DataModel_detail::const_iterator< DataVector > const_iterator
Definition
DataVector.h:837
TBBeamDetector::isOverflow
bool isOverflow() const
Definition
TBBeamDetector.h:65
TBBeamDetector::getDetectorName
const std::string & getDetectorName() const
Definition
TBBeamDetector.h:62
TBScintillator
Definition
TBScintillator.h:25
TBScintillator::isSignalOverflow
virtual bool isSignalOverflow() const
Definition
TBScintillator.h:71
TBScintillator::isTimeOverflow
virtual bool isTimeOverflow() const
Definition
TBScintillator.h:81
TBScintillator::getTimeSignal
virtual float getTimeSignal() const
Definition
TBScintillator.h:77
TBScintillator::getSignal
virtual float getSignal() const
Definition
TBScintillator.h:67
TBTailCatcherCnv_p1::transToPers
virtual void transToPers(const TBTailCatcher *trans, TBTailCatcher_p1 *pers, MsgStream &log) const override
Definition
TBTailCatcherCnv_p1.cxx:51
TBTailCatcherCnv_p1::persToTrans
virtual void persToTrans(const TBTailCatcher_p1 *pers, TBTailCatcher *trans, MsgStream &log) const override
Definition
TBTailCatcherCnv_p1.cxx:15
TBTailCatcher_p1
Definition
TBTailCatcher_p1.h:15
TBTailCatcher_p1::m_time_overflow
std::vector< bool > m_time_overflow
Definition
TBTailCatcher_p1.h:22
TBTailCatcher_p1::m_signal
std::vector< float > m_signal
Definition
TBTailCatcher_p1.h:21
TBTailCatcher_p1::m_overflow
std::vector< bool > m_overflow
Definition
TBTailCatcher_p1.h:25
TBTailCatcher_p1::m_signals
std::vector< double > m_signals
Definition
TBTailCatcher_p1.h:19
TBTailCatcher_p1::m_tbDetectorName
std::vector< std::string > m_tbDetectorName
Definition
TBTailCatcher_p1.h:24
TBTailCatcher_p1::m_signal_overflow
std::vector< bool > m_signal_overflow
Definition
TBTailCatcher_p1.h:22
TBTailCatcher_p1::m_time_signal
std::vector< float > m_time_signal
Definition
TBTailCatcher_p1.h:21
TBTailCatcher
Definition
TBTailCatcher.h:25
trans
TH1F * trans(TH1F *h, bool t=false)
Definition
comparitor.cxx:185
Generated on
for ATLAS Offline Software by
1.17.0