|
ATLAS Offline Software
|
Go to the documentation of this file.
16 m_inputPhase(nullptr),
54 ATH_MSG_ERROR(
"Only \"Unknown\", \"SingleGroup\", \"SubDetector\", \"FeedThrough\", \"ExtendedFeedThrough\", \"ExtendedSubDetector\" and \"SuperCells\" are allowed" ) ;
55 return StatusCode::FAILURE ;
63 msg(MSG::ERROR) <<
"Could not get LArOnlineID helper !" <<
endmsg;
64 return StatusCode::FAILURE;
74 msg(MSG::ERROR) <<
"Could not get LArOnlineID helper !" <<
endmsg;
75 return StatusCode::FAILURE;
85 return StatusCode::SUCCESS;
90 return StatusCode::SUCCESS;
101 if (
sc.isFailure()) {
120 return StatusCode::SUCCESS;
128 if (
sc.isFailure()) {
134 std::unique_ptr<LArOFCComplete> larOFCComplete=std::make_unique<LArOFCComplete>();
137 if (
sc.isFailure() ) {
138 ATH_MSG_ERROR(
"Could not initialize LArOFCComplete data object - exit!" ) ;
158 for(;
it!=it_e;++
it){
161 const int nPhases=
ofc.OFC_aSize();
180 if ( vOFC_a.size() == 0 || vOFC_b.size() == 0 ) {
183 }
else if ( vOFC_a.size() != vOFC_b.size() ) {
184 ATH_MSG_WARNING(
"OFC a (" << vOFC_a.size() <<
") and b (" << vOFC_b.size() <<
") are not the same size for channel "
188 std::vector<std::vector<float> > OFC_a;
190 std::vector<std::vector<float> > OFC_b;
195 std::bind(std::multiplies<float>(), std::placeholders::_1, ofW->
getW(
id)));
199 std::bind(std::multiplies<float>(), std::placeholders::_1, 1.5));
202 larOFCComplete->
set(
id,(
int)
gain,OFC_a,OFC_b,timeOffset,25.);
210 if (
sc.isFailure()) {
215 if (
sc.isFailure()) {
219 return StatusCode::SUCCESS;
230 if (
sc.isFailure()) {
235 std::unique_ptr<LArShapeComplete> larShapeComplete=std::make_unique<LArShapeComplete>();
238 if (
sc.isFailure() ) {
239 ATH_MSG_ERROR(
"Could not initialize LArShapeComplete data object - exit!" ) ;
248 for(;
it!=it_e;++
it){
252 const int nPhases=shape.shapeSize();
268 const float timeOffset=shape.timeOffset();
270 if ( vShape.size() == 0 || vShapeDer.size() == 0 ) {
272 }
else if ( vShape.size() != vShapeDer.size() ) {
273 ATH_MSG_WARNING(
"Shape a (" << vShape.size() <<
") and b (" << vShapeDer.size() <<
") are not the same size for channel"
277 std::vector<std::vector<float> > shapeDer;
278 std::vector<std::vector<float> > shapeAmpl;
279 shapeAmpl.push_back(vShape.
asVector());
280 shapeDer.push_back(vShapeDer.
asVector());
281 larShapeComplete->
set(
id,(
int)
gain,shapeAmpl,shapeDer,timeOffset,25.);
289 if (
sc.isFailure()) {
294 if (
sc.isFailure()) {
295 ATH_MSG_ERROR(
"Failed to sym-link LArShapeComplete object" );
299 return StatusCode::SUCCESS;
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.)
virtual const int & bin(const HWIdentifier &chid, const int &gain) const
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Declaration of const iterator.
std::string m_keyShape_new
const LArOnlineID_Base * m_onlineID
This class implements the ILArShape interface.
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool empty() const
Test if the key is blank.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
const LArOFCBinComplete * m_inputPhase
GroupingType
Grouping type.
ConstConditionsMapIterator end(unsigned int gain) const
end of all channels for this gain
virtual bool isHECchannel(const HWIdentifier id) const =0
::StatusCode StatusCode
StatusCode definition for legacy code.
Default, invalid implementation of ClassID_traits.
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
LArOFPhasePicker(const std::string &name, ISvcLocator *pSvcLocator)
This is a non-template implementation base class for LArConditionsContainer.
std::string m_groupingName
Helper for the Liquid Argon Calorimeter cell identifiers.
void set(const HWIdentifier &CellID, int gain, const std::vector< std::vector< float > > &vShape, const std::vector< std::vector< float > > &vShapeDer, float timeOffset=0, float timeBinWidth=25./24.)
StatusCode initialize(bool used=true)
SG::ReadCondHandleKey< LArOFCweightSC > m_ofcWKey
virtual StatusCode initialize()
Initialization done after creation or read back - derived classes may augment the functionality.
#define ATH_MSG_WARNING(x)
Subset::ConstReference ConstReference
const float & getW(const HWIdentifier &chid) const
ConstConditionsMapIterator begin(unsigned int gain) const
get iterator for all channels for a gain
std::vector< value_type > asVector() const
Convert back to a vector.
std::string channel_name(const HWIdentifier id) const
Return a string corresponding to a feedthrough name given an identifier.
This class implements the ILArOFC interface.
Proxy for accessing a range of float values like a vector.