ATLAS Offline Software
Loading...
Searching...
No Matches
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
10
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
22class TH2;
23class TH2D;
24class TProfile2D;
25
26namespace 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;
103 double m_rt, m_eta, m_phi;
104 ULong64_t m_onlid;
105
106 CellInfo& operator= (const CellInfo&);
107 };
108}
109#endif
110
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Definition AtlasPID.h:878
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
double eta() const
Definition CellInfo.h:93
short slot() const
Definition CellInfo.h:68
short layer() const
Definition CellInfo.h:53
TVector3 position() const
Definition CellInfo.cxx:204
short feedThrough() const
Definition CellInfo.h:65
ShapeInfo * m_shapeM
Definition CellInfo.h:102
short region() const
Definition CellInfo.h:59
double phi() const
Definition CellInfo.h:94
ULong64_t onlid() const
Definition CellInfo.h:90
ShapeInfo * m_shapeL
Definition CellInfo.h:102
double rt() const
Definition CellInfo.h:92
short iPhi() const
Definition CellInfo.h:62
CaloId calo() const
Definition CellInfo.h:50
ShapeInfo * m_shapeH
Definition CellInfo.h:102
CellInfo()
Constructor.
Definition CellInfo.cxx:19
short channel() const
Definition CellInfo.h:76
unsigned int m_calo
Definition CellInfo.h:100
short iEta() const
Definition CellInfo.h:56
bool verbose
Definition hcg.cxx:73