|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #include "CaloDetDescr/CaloDetDescrElement.h"
25 ,
const std::string&
name
26 ,
const IInterface*
parent)
29 declareInterface<ILArShapeDumperTool>(
this);
43 const CaloCell_ID* idHelper =
nullptr;
45 m_emId = idHelper->em_idHelper();
46 m_hecId = idHelper->hec_idHelper();
47 m_fcalId = idHelper->fcal_idHelper();
51 return StatusCode::SUCCESS;
57 return StatusCode::SUCCESS;
87 msg(MSG::WARNING) <<
"LArDigit Id "<< MSG::hex <<
id.get_identifier32().get_compact() << MSG::dec
90 <<
") appears to be neither EM nor HEC nor FCAL." <<
endmsg;
104 TVector3 position(0,0,1);
105 ULong64_t onlid = (ULong64_t)channelID.get_identifier32().get_compact();
106 if (caloDetElement) position = TVector3(caloDetElement->
x(), caloDetElement->
y(), caloDetElement->
z());
111 shapeL, shapeM, shapeH, position, onlid);
124 msg(MSG::INFO) <<
"Shape object is not of type LArShapeComplete!" <<
endmsg;
133 msg(MSG::WARNING) <<
"Shape object for channel " << channelID <<
" and gain " <<
gain
134 <<
" has 0 phases !" <<
endmsg;
138 for (
unsigned int iPhase = 0; iPhase < nPhases; iPhase++) {
141 if (!(shape_i.
valid() && shape_i.size()>0)) {
142 msg(MSG::WARNING) <<
"Shape object for channel " << channelID <<
" and gain " <<
gain
143 <<
" has no data in phase " << iPhase <<
" !" <<
endmsg;
147 for (
unsigned int iSample = 0; iSample < shape_i.size(); iSample++) {
148 if (iSample == 0 && iPhase == 0)
149 shape =
new ShapeInfo(shape_i.size(), 3, nPhases, 0);
150 shape->
set(iSample, iPhase, shape_i[iSample]);
def retrieve(aClass, aKey=None)
int phi(const Identifier id) const
return phi according to :
bool valid() const
Test to see if the proxy has been initialized.
int eta(const Identifier id) const
return eta [0,9] outer part [0,3] inner part
bool is_lar_fcal(Identifier id) const
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
This class implements the ILArShape interface.
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
int module(const Identifier id) const
module [1,3]
int region(const Identifier id) const
return region according to :
int sampling(const Identifier id) const
return sampling according to :
void set(unsigned char iSample, unsigned char iPhase, float value)
int eta(const Identifier id) const
return eta according to :
int eta(const Identifier id) const
eta [0,63] module 1 ; [0,31] module 2 ; [0,15] module 3
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
int phi(const Identifier id) const
phi [0,15]
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
::StatusCode StatusCode
StatusCode definition for legacy code.
int pos_neg(const HWIdentifier id) const
Return the side of a hardware cell identifier pos_neg = [0,1] positive-side or negative-side Barrel...
bool is_lar_hec(Identifier id) const
virtual unsigned nTimeBins(const HWIdentifier &CellID, int gain) const
int barrel_ec(const Identifier id) const
return barrel_ec according to :
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
int sampling(const Identifier id) const
return sampling [0,3] (only 0 for supercells)
virtual ShapeRef_t Shape(const HWIdentifier &CellID, int gain, int tbin=0, int mode=0) const override
setScale setgFexType iEta
int region(const Identifier id) const
return region [0,1]
bool is_lar_em(Identifier id) const
Proxy for accessing a range of float values like a vector.
int phi(const Identifier id) const
return phi[0,63] outer part [0,31] inner part