|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #include "CaloDetDescr/CaloDetDescrElement.h"
8 #include "GaudiKernel/Bootstrap.h"
9 #include "GaudiKernel/ISvcLocator.h"
10 #include "GaudiKernel/IToolSvc.h"
12 #include "eformat/Version.h"
23 : m_onlineHelper (onlineHelper),
24 m_CaloDetDescrManager (calodd),
25 m_onOffIdMapping (onOffIdMapping),
40 if (
m_mFEB[FEB_ID].vLArRC.empty() ){
41 m_mFEB[FEB_ID].vLArRC.resize(128,0);
52 m_mFEB[FEB_ID].vLArDigit.push_back(
dg);
81 {logstr << MSG::ERROR <<
"No LArRodBlockStructure defined! Can't encode fragment!" <<
endmsg;
92 for(;
it!=it_end;++
it) {
110 if ( theChannel !=
nullptr ){
116 quality,theChannel->
gain());
123 double cellnoise =
noise.getNoise(myofflineID,theChannel->
gain());
124 if(
e > (nsigma*cellnoise) && (quality != 65535 ) ){
125 double aux=caloDDE->
sinTh();
126 double aux_z=tanh(caloDDE->
eta());
155 std::vector<const LArDigit*>::const_iterator digit_it =
it->second.vLArDigit.begin();
156 std::vector<const LArDigit*>::const_iterator digit_it_end=
it->second.vLArDigit.end();
157 if(digit_it!=digit_it_end) {
159 for (;digit_it!=digit_it_end;++digit_it) {
170 for (
int i=0;
i<3;
i++) {
173 std::vector<const LArDigit*>::const_iterator digit_it =
it->second.vLArDigitFixed[
i].begin();
174 std::vector<const LArDigit*>::const_iterator digit_it_end=
it->second.vLArDigitFixed[
i].end();
175 if(digit_it!=digit_it_end) {
177 for (;digit_it!=digit_it_end;++digit_it) {
188 for (
int i=0;
i<3;
i++) {
191 std::vector<const LArCalibDigit*>::const_iterator digit_it =
it->second.vLArCalibDigit[
i].begin();
192 std::vector<const LArCalibDigit*>::const_iterator digit_it_end=
it->second.vLArCalibDigit[
i].end();
193 if(digit_it!=digit_it_end) {
197 for (;digit_it!=digit_it_end;++digit_it) {
201 if ((*digit_it)->isPulsed())
JetConstituentVector::iterator iterator
float cosPhi() const
for fast px py pz computation
void add(const LArRawChannel *rc)
virtual void setEz(double)
virtual void setNextEnergy(const int channel, const int32_t energy, const int32_t time, const int32_t quality, const uint32_t gain)
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
LArRodBlockStructure * m_BlStruct
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
virtual void concatinateFEBs()
virtual void setPulsed(const unsigned channelNumber)
virtual void setEy(double)
const CaloDetDescrManager & m_CaloDetDescrManager
value_type get_compact() const
Get the compact id.
virtual bool canSetRawData()
virtual void setDAC(const uint16_t DACValue)
virtual void initializeFragment(std::vector< uint32_t > &fragment)
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
virtual bool canIncludeRawData()
void fillROD(std::vector< uint32_t > &v, MsgStream &logstr, const CaloNoise &noise, double nsigma)
Liquid Argon digit base class.
Liquid Argon ROD output object base class.
virtual int FebToRodChannel(int ch) const
virtual bool canSetRawDataFixed()
virtual bool canSetCalibration()
virtual void finalizeFEB()
LArRodEncoder(const LArOnlineID &onlineHelper, const CaloDetDescrManager &calodd, const LArOnOffIdMapping &onOffIdMapping, LArRodBlockStructure *BlStruct)
virtual void setNumberOfSamples(const uint8_t n)
virtual void setSumE(double)
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
Base class for LArDigits taken during calibration runs.
const HWIdentifier & hardwareID() const
virtual void setRawDataFixed(const int channel, const std::vector< short > &samples, const uint32_t gain)
virtual bool canSetEnergy()
virtual void sortDataVector(std::vector< const LArRawChannel * > &)
virtual void initializeFEB(const uint32_t id)
const LArOnlineID & m_onlineHelper
virtual void setEx(double)
This class provides the client interface for accessing the detector description information common to...
Identifier cnvToIdentifier(const HWIdentifier &sid) const
create an Identifier from a HWIdentifier (inline)
const LArOnOffIdMapping & m_onOffIdMapping
virtual void setDelay(const uint16_t DelayValue)
std::map< uint32_t, FebData_t > m_mFEB
float eta() const
cell eta
float sinTh() const
for algorithm working in transverse Energy
CaloGain::CaloGain gain() const
float sinPhi() const
for fast px py pz computation
virtual void setRawData(const int channel, const std::vector< short > &samples, const uint32_t gain)