ATLAS Offline Software
CellInfo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
11 #ifndef LArCellInfo_H
12 #define LArCellInfo_H
13 
14 #include "TVector3.h"
15 
16 #include "LArCafJobs/CaloId.h"
17 
19 //#include "LArCafJobs/TestObject2.h"
21 
22 class TH2;
23 class TH2D;
24 class TProfile2D;
25 
26 namespace LArSamples {
27 
28  class ShapeInfo;
29 
30 
32 
33  public:
34 
36  CellInfo();
37 
38  CellInfo(CaloId calo, short layer = -1,
39  short iEta = -1, short iPhi = -1, short feedThrough = -1, short slot = -1, short channel = -1,
40  ShapeInfo* shapeL = 0, ShapeInfo* shapeM = 0, ShapeInfo* shapeH = 0, const TVector3& position = TVector3(0,0,0), ULong64_t onlid = -1);
41 
42  CellInfo(const CellInfo& other, bool withShapes = true);
43 
44  CellInfo(CellInfo&& other) noexcept;
45 
47  ~CellInfo();
48 
50  CaloId calo() const { return (CaloId)m_calo; }
51 
53  short layer() const { return m_layer; }
54 
56  short iEta() const { return (m_iEta < 0 ? -1 : (m_iEta & 0x3ff)); } // bottom 10 bits
57 
59  short region() const { return (m_iEta < 0 ? -1 : (m_iEta - iEta())>>10); } // top 5 bits (Actually 3 max)
60 
62  short iPhi() const { return m_iPhi; }
63 
65  short feedThrough() const { return m_feedThrough; }
66 
68  short slot() const { return m_slot; }
69 
71  short feb() const;
72  short globalFeb() const;
73  short globalPhiRing() const;
74 
76  short channel() const { return m_channel; }
77 
79  TString location(int verbose = 1) const;
80  TVector3 position() const;
81 
82  bool isValid() const;
83 
84  const ShapeInfo* shape(CaloGain::CaloGain gain) const;
85 
86  double footprint() const;
87 
88  PartitionId partition() const;
89 
90  ULong64_t onlid() const { return m_onlid; }
91 
92  double rt() const { return m_rt; }
93  double eta() const { return m_eta; }
94  double phi() const { return m_phi; }
95 
96  bool setShape(CaloGain::CaloGain gain, ShapeInfo* shape);
97 
98  private:
99 
100  unsigned int m_calo;
101  short m_layer, m_iEta, m_iPhi, m_feedThrough, m_slot, m_channel;
102  ShapeInfo* m_shapeL, *m_shapeM, *m_shapeH;
103  double m_rt, m_eta, m_phi;
104  ULong64_t m_onlid;
105 
106  CellInfo& operator= (const CellInfo&);
107  };
108 }
109 #endif
110 
CaloId.h
LArSamples::CellInfo::slot
short slot() const
Definition: CellInfo.h:68
LArSamples::CellInfo::calo
CaloId calo() const
Definition: CellInfo.h:50
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
LArSamples::CellInfo::m_onlid
ULong64_t m_onlid
Definition: CellInfo.h:104
LArSamples::CellInfo::rt
double rt() const
Definition: CellInfo.h:92
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
LArSamples::CellInfo::feedThrough
short feedThrough() const
Definition: CellInfo.h:65
TProfile2D
Definition: rootspy.cxx:531
LArSamples
Definition: AbsShape.h:24
LArSamples::CellInfo::phi
double phi() const
Definition: CellInfo.h:94
LArSamples::CellInfo::iEta
short iEta() const
Definition: CellInfo.h:56
isValid
bool isValid(const T &p)
Definition: AtlasPID.h:214
LArSamples::ShapeInfo
Definition: ShapeInfo.h:24
LArSamples::CellInfo::onlid
ULong64_t onlid() const
Definition: CellInfo.h:90
python.sizes.location
string location
Definition: sizes.py:11
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
LArSamples::PartitionId
PartitionId
Definition: CaloId.h:29
TH2D
Definition: rootspy.cxx:430
TH2
Definition: rootspy.cxx:373
LArSamples::CellInfo::m_rt
double m_rt
Definition: CellInfo.h:103
LArSamples::CellInfo::m_calo
unsigned int m_calo
Definition: CellInfo.h:100
LArSamples::CellInfo::m_slot
short m_slot
Definition: CellInfo.h:101
LArSamples::CellInfo
Definition: CellInfo.h:31
LArSamples::CaloId
CaloId
Definition: CaloId.h:21
LArSamples::CellInfo::iPhi
short iPhi() const
Definition: CellInfo.h:62
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
Trk::iPhi
@ iPhi
Definition: ParamDefs.h:53
LArSamples::CellInfo::channel
short channel() const
Definition: CellInfo.h:76
LArSamples::CellInfo::m_shapeM
ShapeInfo * m_shapeM
Definition: CellInfo.h:102
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
python.TriggerHandler.verbose
verbose
Definition: TriggerHandler.py:297
StateLessPT_NewConfig.partition
partition
Definition: StateLessPT_NewConfig.py:49
LArSamples::CellInfo::region
short region() const
Definition: CellInfo.h:59
LArSamples::CellInfo::eta
double eta() const
Definition: CellInfo.h:93
checker_macros.h
Define macros for attributes used to control the static checker.
CaloGain.h
xAOD::iEta
setScale setgFexType iEta
Definition: gFexJetRoI_v1.cxx:74
LArSamples::CellInfo::layer
short layer() const
Definition: CellInfo.h:53