ATLAS Offline Software
Loading...
Searching...
No Matches
MakeLArCellFromRaw.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LARCELLREC_MAKELARCELLFROMRAW_H
6#define LARCELLREC_MAKELARCELLFROMRAW_H
7
14
15
16#include "LArRecEvent/LArCell.h"
21
22#include <map>
23#include <vector>
25
26class LArRoIMap;
29
31{
32public:
33
34 struct CellInfo
35 {
37 double eta ;
38 double phi ;
39 double x ;
40 double y ;
41 double z ;
42 bool fcal ;
43 unsigned int tt;
45 double eCorr ;
46 };
47
51
55
56
59 void initialize ( const LArRoIMap& roiMap,
60 const LArOnOffIdMapping& onOffMap,
61 const CaloDetDescrManager& man,
62 const std::vector<const CaloCellCorrection*>* pCorr, unsigned int poolMaxSize =190000);
63
66 LArCell* getLArCell( unsigned int feb, unsigned int chan,
67 int e, int t, int q , CaloGain::CaloGain caloGain, unsigned int & ttId) const;
68
69 LArCell* getLArCell( const HWIdentifier& id, int e, int t, int q,
70 CaloGain::CaloGain g) const ;
71
72 //FIXME will disappear
73 LArCell* getLArCell( unsigned int feb, unsigned int chan,
74 int e, int t, int q , unsigned int & ttId) const;
75 //FIXME will disappear
76 LArCell* getLArCell( const HWIdentifier& id, int e, int t, int q ) const ;
77
78
79 void setThreshold(float t);
80
81private:
82
83 // Find correction factor for this LArCell
84 double getCorrection(LArCell* cell,
85 const std::vector<const CaloCellCorrection*>& vCorr,
86 const EventContext& ctx) const;
87
88 // cells in a FEB stored in a vector
89 typedef std::vector<CellInfo> CELL_VEC ;
90
91 // all FEBs in a map.
92 typedef std::map<unsigned int, CELL_VEC > CELL_MAP;
93
95
97 IMessageSvc * m_msgSvc ;
98
100
101 float m_ethreshold ; // common threshold in MeV
102
103};
104
105#endif
This class groups all DetDescr information related to a CaloCell.
This class provides the client interface for accessing the detector description information common to...
Data object for LAr calorimeter readout cell.
Definition LArCell.h:53
Mapping between calorimeter trigger id to offline/online Identifier.
Definition LArRoIMap.h:31
std::map< unsigned int, CELL_VEC > CELL_MAP
MakeLArCellFromRaw()
constructor
const LArOnlineID * m_onlineID
double getCorrection(LArCell *cell, const std::vector< const CaloCellCorrection * > &vCorr, const EventContext &ctx) const
LArCell * getLArCell(unsigned int feb, unsigned int chan, int e, int t, int q, CaloGain::CaloGain caloGain, unsigned int &ttId) const
access by Identifier
std::vector< CellInfo > CELL_VEC
void initialize()
const CaloDetDescrElement * elem