|
ATLAS Offline Software
|
Go to the documentation of this file.
18 const std::vector<std::vector<float> >& vOFC_a,
19 const std::vector<std::vector<float> >& vOFC_b,
20 float timeOffset,
float timeBinWidth)
34 if (!
t.isValid() || tbin<0 || tbin>=(
int)
t.OFC_aSize())
36 return t.OFC_a (tbin);
47 if (!
t.isValid() || tbin<0 || tbin>=(
int)
t.OFC_bSize())
49 return t.OFC_b (tbin);
55 if (gain<0 || gain>3) {
56 std::cout <<
"ERROR! LArOFCComplete::timeOffset time offset called for gain " <<
gain << std::endl;
62 if (!
t.isValid())
return 0;
63 return t.timeOffset();
68 if (gain<0 || gain>3) {
69 std::cout <<
"ERROR! LArOFCComplete::nTimeBins time offset called for gain " <<
gain << std::endl;
73 if (!
t.isValid())
return 0;
79 if (gain<0 || gain>3) {
80 std::cout <<
"ERROR! LArOFCComplete::timeBinWidth time offset called for gain " <<
gain << std::endl;
84 if (!
t.isValid())
return 0;
85 return t.timeBinWidth();
99 for (
unsigned int iGain =
minGain(); iGain <
nGains(); ++iGain) {
104 for ( ; it_chan !=it_chan_e ;++it_chan ) {
105 const LArOFCP1& chunkOFC = *it_chan ;
107 fprintf(
f ,
"---------------------- Gain = %1u ; Channel = %10x ----------------------\n",
110 assert( nTbin == chunkOFC.
OFC_bSize() ) ;
112 for (
unsigned kBin=0 ; kBin<nTbin ; kBin++ ) {
113 unsigned nSample = (chunkOFC.
OFC_a (kBin)).
size() ;
114 assert( nSample == (chunkOFC.
OFC_b (kBin)).size() ) ;
115 fprintf(
f ,
"\t%2u\t |" , kBin ) ;
116 for (
unsigned kSample=0 ; kSample<nSample ; kSample++ ) {
117 fprintf(
f ,
"\t%8.3f" , chunkOFC.
OFC_a(kBin)[kSample] ) ;
119 fprintf(
f ,
"\t |" ) ;
120 for (
unsigned kSample=0 ; kSample<nSample ; kSample++ ) {
121 fprintf(
f ,
"\t%8.3f" , chunkOFC.
OFC_b(kBin)[kSample] ) ;
123 fprintf(
f ,
"\n" ) ;
c-struct reproducing the structure of the persistent data
void setPdata(const HWIdentifier id, const LArOFCP1 &payload, unsigned int gain=0)
put payload in persistent data
HWIdentifier channelId() const
void set(const HWIdentifier &CellID, int gain, const std::vector< std::vector< float > > &vOFC_a, const std::vector< std::vector< float > > &vOFC_b, float timeOffset=0, float timeBinWidth=25./24.)
Declaration of const iterator.
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
virtual OFCRef_t OFC_a(const HWIdentifier &CellID, int gain, int tbin=0) const override
access to OFCs by online ID, gain, and tbin (!=0 for testbeam)
static const std::vector< float > m_empty
OFCRef_t OFC_b(size_t tbin) const
value_type get_compact() const
Get the compact id.
unsigned int nGains() const
Number of gain values.
unsigned int minGain() const
Mininum gain value.
virtual OFCRef_t OFC_b(const HWIdentifier &CellID, int gain, int tbin=0) const override
virtual float timeOffset(const HWIdentifier &CellID, int gain) const override
ConstConditionsMapIterator end(unsigned int gain) const
end of all channels for this gain
OFCRef_t OFC_a(size_t tbin) const
ConstReference get(const HWIdentifier id, unsigned int gain=0) const
get data with online identifier
virtual unsigned nTimeBins(const HWIdentifier &CellID, int gain) const override
virtual float timeBinWidth(const HWIdentifier &CellID, int gain) const override
virtual ~LArOFCComplete()
Subset::ConstReference ConstReference
ConstConditionsMapIterator begin(unsigned int gain) const
get iterator for all channels for a gain
void dumpOFC(const std::string &output_file_name) const
Proxy for accessing a range of float values like a vector.