|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #include "GaudiKernel/ConcurrencyFlags.h"
29 const std::string&
name,
51 throw std::runtime_error(
"FastHitConvertTool: Invalid LAr EM ID helper");
54 throw std::runtime_error(
"FastHitConvertTool: Invalid FCAL ID helper");
57 throw std::runtime_error(
"FastHitConvertTool: Invalid HEC ID helper");
60 throw std::runtime_error(
"FastHitConvertTool: Invalid Tile ID helper");
78 return StatusCode::SUCCESS;
96 const double minEnergy=1
e-9;
100 double energyConv=0.0;
105 double eLArEMRead=0.0;
106 double eLArHECRead=0.0;
107 double eLArFCALRead=0.0;
108 double eTileRead=0.0;
110 double eLArEMConv=0.0;
111 double eLArHECConv=0.0;
112 double eLArFCALConv=0.0;
113 double eTileConv=0.0;
126 SampFrac=fSampl->
FSAMPL(cellid);
127 energyConv=
energy*SampFrac;
130 eLArEMConv+=energyConv;
133 if(energyConv > minEnergy)
140 embHitContainer->push_back(
new LArHit(cellid,energyConv,
hitTime));
145 emecHitContainer->push_back(
new LArHit(cellid,energyConv,
hitTime));
162 SampFrac=fSampl->
FSAMPL(cellid);
163 energyConv=
energy*SampFrac;
166 eLArHECConv+=energyConv;
170 if(energyConv>minEnergy)
175 hecHitContainer->push_back(
new LArHit(cellid,energyConv,
hitTime));
189 SampFrac=fSampl->
FSAMPL(cellid);
190 energyConv=
energy*SampFrac;
193 eLArHECConv+=energyConv;
196 if(energyConv>minEnergy)
201 fcalHitContainer->push_back(
new LArHit(cellid,energyConv,
hitTime));
230 energyConv=
energy/SampFrac;
233 eTileConv+=energyConv;
237 if(energyConv>minEnergy)
248 tileHitVector->push_back(
TileHit(pmt_id0,energyConv/2.0,
hitTime));
249 tileHitVector->push_back(
TileHit(pmt_id1,energyConv/2.0,
hitTime));
255 ATH_MSG_DEBUG(
"eReadTot= "<<eLArEMRead+eLArHECRead+eLArFCALRead+eTileRead);
256 ATH_MSG_DEBUG(
"eLArEMRead= "<<eLArEMRead<<
" eLArHECRead= "<<eLArHECRead<<
" eLArFCALRead= "<<eLArFCALRead<<
" eTileRead= "<<eTileRead);
257 ATH_MSG_DEBUG(
"eConvTot= "<<eLArEMConv+eLArHECConv+eLArFCALConv+eTileConv);
258 ATH_MSG_DEBUG(
"eLArEMConv= "<<eLArEMConv<<
" eLArHECConv= "<<eLArHECConv<<
"eLArFCALConv"<<eLArFCALConv<<
"eTileConv"<<eTileConv);
261 ATH_MSG_DEBUG(embHitContainer.name()<<
" : "<<embHitContainer->size()<<
" hits ");
262 ATH_MSG_DEBUG(emecHitContainer.name()<<
" : "<<emecHitContainer->size()<<
" hits ");
263 ATH_MSG_DEBUG(fcalHitContainer.name()<<
" : "<<fcalHitContainer->size()<<
" hits ");
264 ATH_MSG_DEBUG(hecHitContainer.name()<<
" : "<<hecHitContainer->size()<<
" hits ");
265 ATH_MSG_DEBUG(tileHitVector.name()<<
" : "<<tileHitVector->size()<<
" hits ");
267 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
float getSamplingFraction(unsigned int drawerIdx, unsigned int channel) const
Return Tile Calorimeter sampling fraction.
Const iterator class for DataVector/DataList.
bool is_lar_fcal(Identifier id) const
const LArEM_ID * getEM_ID(void) const
CaloCellContainer::const_iterator beginConstCalo(CaloCell_ID::SUBCALO caloNum) const
get const iterators on cell of just one calo
const std::string & key() const
Return the StoreGate ID for the referenced object.
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
const TileID * getTileID(void) const
const LArHEC_ID * getHEC_ID(void) const
bool is_tile_gapscin(const Identifier &id) const
This class initializes the Calo (LAr and Tile) offline identifiers.
std::vector< HWIdentifier >::iterator it1
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual const float & FSAMPL(const HWIdentifier &id) const =0
const LArFCAL_ID * getFCAL_ID(void) const
#define CHECK(...)
Evaluate an expression and check for errors.
bool is_tile(Identifier id) const
bool is_lar_hec(Identifier id) const
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
int drawerIdx(const HWIdentifier &id) const
construct drawer index from HW identifier
StatusCode initialize(bool used=true)
Class to store hit energy and time in LAr cell from G4 simulation.
Container class for CaloCell.
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
Identifier pmt_id(const Identifier &any_id) const
CaloCellContainer::const_iterator endConstCalo(CaloCell_ID::SUBCALO caloNum) const
float hitTime(const AFP_SIDSimHit &hit)
Define macros for attributes used to control the static checker.
bool is_lar_em(Identifier id) const
bool is_em_endcap(const Identifier id) const
test if the id belongs to the EM Endcap
HWIdentifier s2h_channel_id(const Identifier &id) const