14#ifndef TRTCONDITIONSDATA_STRAWT0MULTCHANCONTAINER_H
15#define TRTCONDITIONSDATA_STRAWT0MULTCHANCONTAINER_H
21#include "GaudiKernel/MsgStream.h"
45 return StrawT0Trait::isvalid(*valwithcontainer.second) ? valwithcontainer.first->unpackT0( *valwithcontainer.second ) : 0 ;
51 return StrawT0Trait::isvalid(*valwithcontainer.second) ? valwithcontainer.first->unpackT0Err( *valwithcontainer.second ) : 0 ;
60 log << MSG::WARNING <<
"Sorry: cannot store containers at BARREL_EC granularity" <<
endmsg;
70 log << MSG::ERROR <<
"cannot find container channel" <<
channelId(
id) <<
endmsg ;
77 void setPackingLimits(
float t0min,
float t0max,
float t0errmin,
float t0errmax) ;
80 static const char*
classname() {
return "TRTCond::StrawT0MultChanContainer" ; }
86 for(dauit = this->
begin() ; dauit != this->
end(); ++dauit)
87 (*dauit)->setPackingLimits( t0min,t0max,t0errmin,t0errmax ) ;
Hold mappings of ranges to condition objects.
#define CONDCONT_DEF(...)
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
CondMultChanCollection for storing TRT conditions data.
Class for storing/accessing trt t0 data.
DataModel_detail::iterator< DataVector > iterator
const_iterator end() const noexcept
const_iterator begin() const noexcept
Identifier for TRT detector elements in the conditions code.
StrawT0ContainerTemplate< ExpandedIdentifier::LAYERWHEEL > * findContainer(const ExpandedIdentifier &id)
const StrawT0ContainerTemplate< ExpandedIdentifier::LAYERWHEEL > * getContainer(size_t chanid) const
size_t channelId(const ExpandedIdentifier &x) const
std::pair< const StrawT0ContainerTemplate< ExpandedIdentifier::LAYERWHEEL > *, const typename StrawT0ContainerTemplate< ExpandedIdentifier::LAYERWHEEL >::value_type * > ContainerWithValue
ContainerWithValue getWithContainer(const ExpandedIdentifier &id) const
std::vector< std::pair< ExpandedIdentifier, const StrawT0 * > > FlatContainer
class for storing/accessing trt t0 data
void setT0(const ExpandedIdentifier &id, float t0, float t0err)
set t0
A COOL Multichannel container for StrawT0 objects.
void unpack(const ExpandedIdentifier &id, const StrawT0 &sd, float &t0, float &t0err) const
public method to unpack a StrawT0 object
void setT0(const ExpandedIdentifier &id, float t0, float t0err)
set t0
StrawT0MultChanContainer()
constructor
virtual ~StrawT0MultChanContainer()
destructor
void setPackingLimits(float t0min, float t0max, float t0errmin, float t0errmax)
change the packing limits. NOTE: this only works for channels that already exist!
static const char * classname()
classname used to talk to iovservice
float getT0(const ExpandedIdentifier &id) const
access to unpacked t0
float getT0Err(const ExpandedIdentifier &id) const
access to unpacked t0 error
StrawT0ContainerTemplate< ExpandedIdentifier::LAYERWHEEL >::FlatContainer FlatContainer
typedefs
static bool isvalid(const StrawT0 &x)
class for t0 data for one straw
singleton-like access to IMessageSvc via open function and helper
IMessageSvc * getMessageSvc(bool quiet=false)
StrawT0ContainerTemplate< ExpandedIdentifier::LAYERWHEEL > StrawT0LayerContainer