ATLAS Offline Software
VP1CaloCells.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 #ifndef VP1CALOSYSTEMS_VP1CALOCELL_H
6 #define VP1CALOSYSTEMS_VP1CALOCELL_H
7 
8 #include "VP1Base/VP1Interval.h"
9 
10 #include "Identifier/Identifier.h"
12 
14 #include "GeoModelKernel/GeoDefinitions.h"
15 #include "GaudiKernel/SystemOfUnits.h"
16 
17 #include <map>
18 #include <set>
19 #include <vector>
20 #include <string>
21 #include <QMap>
22 #include <QPair>
23 #include <QList>
24 
26 class SoSeparator;
27 class SoNode;
28 class SoGenericBox;
29 class CaloCell;
30 class CaloCell_ID;
31 class TileID;
32 class TileHWID;
33 class TileTBID;
34 class TileCell;
35 
36 class TileDigits;
37 class TileInfo;
38 class LArDigit;
39 class TileCablingService;
40 class ICaloBadChanTool;
41 
42 class QCheckBox;
43 class QDoubleSpinBox;
44 
45 // Structure for global cuts
47 {
48  public:
49 
50  bool operator == (const VP1CC_GlobalCuts& other) const {return sideA==other.sideA
51  && sideC==other.sideC
52  && allowedEta==other.allowedEta
53  && allowedPhi==other.allowedPhi; }
54 
55  bool sideA;
56  bool sideC;
58  QList<VP1Interval> allowedPhi;
59  double clipRadius;
60 };
61 
62 // ************* Enums *****************
63 // Positions of bits in the regular selection bitmaps
64 
65 // Selection types
67 {
86 };
87 
88 // Separator types
90 {
105  VP1CC_SepMBTS = 14
106 };
107 
108 // Separator map
109 typedef std::map<VP1CC_SeparatorTypes, VP1ExtraSepLayerHelper*, std::less<VP1CC_SeparatorTypes> > VP1CC_SeparatorMap;
110 
111 // Set of keys for the instances of above map
112 typedef std::set<VP1CC_SeparatorTypes> VP1CC_SeparatorTypesSet;
113 
114 // Pair of intervals for selecting cells with pos/neg energies kept within Cell Managers
115 typedef QPair<VP1Interval,VP1Interval> VP1CCIntervalPair;
116 
117 // Map of interval pairs by Selection types. Is transferred from the Controller to CellManagers when
118 // selection chenges in GUI. The managers should be able to find their corresponding pair by themselves
119 typedef QMap<VP1CC_SelectionTypes,VP1CCIntervalPair> VP1CCIntervalMap;
120 
121 // Helper structure, collects all interface objects needed by VP1CaloCellManager
122 typedef struct
123 {
124  const QCheckBox* globalEnableCB; // Display/hide subsystem
125  const QCheckBox* showNegativeCB; // Display/hide negative energy cells
126  const QCheckBox* upperThreshOffCB; // Disable/enable upper energy threshold
127 
128  const QDoubleSpinBox* lowerThresholdSB; // Lower threshold
129  QDoubleSpinBox* upperThresholdSB; // Upper threshold
130 
132 
133 // This map is used by the Calo Cell Controller
134 // It keeps two objects of this type, one for simple and one for expert mode
135 typedef std::map<VP1CC_SelectionTypes,VP1CCUi2Manager*> VP1CCSelectionType2GuiMap;
136 
137 // *********** Classes ************************
138 
139 //
140 // Base class which has Calo subsystem specific sub-classes.
141 // The following diagram shows class hierarchy
142 //
143 // VP1CaloCell
144 // |------VP1CC_LAr
145 // | |----VP1CC_LArEMB
146 // | |----VP1CC_LArEMECHEC
147 // | |----VP1CC_LArFCAL
148 // |
149 // |------VP1CC_Tile
150 // |------VP1CC_Tile
151 //
152 //
153 // The sub-classes differ
154 // in the way they create 3D objects corresponding to CaloCell
155 //
156 class VP1CaloCell;
157 typedef std::map<SoNode*, VP1CaloCell*, std::less<SoNode*> > VP1CC_SoNode2CCMap;
158 
160 {
161  public:
162  VP1CaloCell(const CaloCell* caloCell);
163  virtual ~VP1CaloCell();
164 
165  double energyToTransverse(const double&) const;
166 
167  bool cutPassed(const VP1CC_GlobalCuts& globalCuts);
168 
169  // Get Cell
170  const CaloCell* getCaloCell();
171 
172  // Get Cell identifier
173  Identifier getID();
174 
175  void updateScene(VP1CC_SoNode2CCMap* node2cc,
176  bool useEt,
177  const QPair<bool,double>& scale,
178  bool outline,
179  const VP1CC_GlobalCuts& globalCuts);
180 
181 
182  // Build 3D object(s)
183  virtual void build3DObjects(VP1CC_SoNode2CCMap* node2cc,
184  bool useEt,
185  const QPair<bool,double>& scale,
186  bool outline,
187  const VP1CC_GlobalCuts& ) = 0;
188 
189  double cellDepth(const QPair<bool,double>& scale, const double& energy)
190  { return std::max(1.0*Gaudi::Units::mm,scale.second*(scale.first?log(1+fabs(energy)):fabs(energy))); }
191 
192  virtual bool isInsideClipVolume(const VP1CC_GlobalCuts& globalCuts) ; // by default uses radius to determine this
193 
194  // Remove 3D object(s) from scene
195  virtual void remove3DObjects(VP1CC_SoNode2CCMap* node2cc) = 0;
196 
197  // Create a string with cell specific information
198  // For Tile Barrel & EC cells print both PMT specific info no matter which hit has been selected
199  // Input parameter:
200  // calo_id: ID helper, needed to decode Cell ID
201  virtual std::vector<std::string> ToString(const CaloCell_ID* calo_id, const std::string& extrainfos="") = 0;
202 
203  protected:
204  const CaloCell* m_caloCell; // Pointer to Calo Cell
205 
206 };
207 
208 //
209 // *** *** *** LAr *** *** ***
210 //
211 class VP1CC_LAr : public VP1CaloCell
212 {
213  public:
214  VP1CC_LAr(const CaloCell* caloCell);
215  virtual ~VP1CC_LAr();
216 
217  virtual void remove3DObjects(VP1CC_SoNode2CCMap* node2cc);
218 
219  protected:
222 };
223 
224 
225 //
226 // *************** LArEMB ************************
227 //
228 
229 class VP1CC_LArEMB : public VP1CC_LAr
230 {
231  public:
232  VP1CC_LArEMB(const CaloCell* caloCell,
234  virtual ~VP1CC_LArEMB();
235 
236  virtual void build3DObjects(VP1CC_SoNode2CCMap* node2cc,
237  bool useEt,
238  const QPair<bool,double>& scale,
239  bool outline,
240  const VP1CC_GlobalCuts& );
241 
242  std::vector<std::string> ToString(const CaloCell_ID* calo_id, const std::string& extrainfos="");
243 };
244 
245 //
246 // *************** LArEMECHEC ************************
247 //
248 
250 {
251  public:
252  VP1CC_LArEMECHEC(const CaloCell* caloCell,
253  const CaloCell_ID* calo_id,
255 
256  virtual ~VP1CC_LArEMECHEC();
257 
258  virtual void build3DObjects(VP1CC_SoNode2CCMap* node2cc,
259  bool useEt,
260  const QPair<bool,double>& scale,
261  bool outline,
262  const VP1CC_GlobalCuts& );
263 
264  std::vector<std::string> ToString(const CaloCell_ID* calo_id, const std::string& extrainfos="");
265 
266 };
267 
268 //
269 // *************** LArFCAL ************************
270 //
271 
272 class VP1CC_LArFCAL : public VP1CC_LAr
273 {
274  public:
275  VP1CC_LArFCAL(const CaloCell* caloCell,
277 
278  virtual ~VP1CC_LArFCAL();
279 
280  virtual void build3DObjects(VP1CC_SoNode2CCMap* node2cc,
281  bool useEt,
282  const QPair<bool,double>& scale,
283  bool outline,
284  const VP1CC_GlobalCuts& );
285 
286  std::vector<std::string> ToString(const CaloCell_ID* calo_id, const std::string& extrainfos="");
287 
288 };
289 
290 //
291 // *********** Tile Base Class ****************
292 //
293 class VP1CC_Tile : public VP1CaloCell
294 {
295  public:
296  VP1CC_Tile(const CaloCell* caloCell,
297  const TileID* tile_id);
298  virtual ~VP1CC_Tile();
299 
300  // return == 0 for OK
301  virtual int GetFragChannel(const TileHWID* tile_hw_id,
302  bool up, // false - onl1, true - onl2
303  int& frag,
304  int& channel) = 0;
305 
306  protected:
307  const TileID* m_tileID;
308 };
309 
310 //
311 // *** *** *** Tile Barrel & EC *** *** ***
312 //
314 {
315  public:
316  VP1CC_TileBarEc(const CaloCell* caloCell,
317  const TileID* tile_id,
319  virtual ~VP1CC_TileBarEc();
320 
321  virtual void build3DObjects(VP1CC_SoNode2CCMap* node2cc,
322  bool useEt,
323  const QPair<bool,double>& scale,
324  bool outline,
325  const VP1CC_GlobalCuts& );
326 
327  bool isInsideClipVolume(const VP1CC_GlobalCuts& globalCuts);
328 
329  virtual void remove3DObjects(VP1CC_SoNode2CCMap* node2cc);
330 
331  std::vector<std::string> ToString(const CaloCell_ID* calo_id, const std::string& extrainfos="");
332 
333  int GetFragChannel(const TileHWID* tile_hw_id,
334  bool up,
335  int& frag,
336  int& channel);
337 
338  protected:
343 
344  std::string id2name(Identifier& id);
345 };
346 
347 //
348 // *** *** *** Tile Crack *** *** ***
349 //
351 {
352  public:
353  VP1CC_TileCrack(const CaloCell* caloCell,
354  const TileID* tile_id,
356 
357  virtual ~VP1CC_TileCrack();
358 
359  virtual void build3DObjects(VP1CC_SoNode2CCMap* node2cc,
360  bool useEt,
361  const QPair<bool,double>& scale,
362  bool outline,
363  const VP1CC_GlobalCuts& );
364 
365  bool isInsideClipVolume(const VP1CC_GlobalCuts& globalCuts);
366 
367  virtual void remove3DObjects(VP1CC_SoNode2CCMap* node2cc);
368 
369  std::vector<std::string> ToString(const CaloCell_ID* calo_id, const std::string& extrainfos="");
370 
371  int GetFragChannel(const TileHWID* tile_hw_id,
372  bool up,
373  int& frag,
374  int& channel);
375  protected:
378 };
379 
380 // ---------------------------------------------------
381 //
382 // *** *** MBTS *** ***
383 //
384 // ---------------------------------------------------
385 
386 // Data structures needed to keep following information:
387 //
388 // 1. MBTS scintillator shape parameters (2 different shapes)
389 // 2. MBTS scintillator global positions
390 
391 typedef std::map<int, GeoTrf::Transform3D, std::less<int> > VP1CC_MbtsXfMap;
392 
393 typedef struct
394 {
395  double dx1; //-|
396  double dx2; // |
397  double dy1; // |-Scintillator shape parameters
398  double dy2; // |
399  double dz; //-|
400  VP1CC_MbtsXfMap aTransforms; // Absolute positions on the A side
401  VP1CC_MbtsXfMap cTransforms; // Absolute positions on the C side
403 
404 // The instance of this map contains 2 elements
405 // 0 - scintillators at lower R
406 // 1 - scintillators at higher R
407 typedef std::map<int, VP1CC_MbtsScinInfo*, std::less<int> > VP1CC_MbtsScinInfoMap;
408 
409 class VP1Mbts;
410 typedef std::map<SoNode*, VP1Mbts*, std::less<SoNode*> > VP1CC_SoNode2MbtsMap;
411 
412 class VP1Mbts
413 {
414  public:
415  VP1Mbts(const TileCell* cell,
416  const TileTBID* idhelper,
417  SoSeparator* separator,
418  bool run2Geo);
419  ~VP1Mbts();
420 
421  // Update graphics scene according to the trivial energy threshold criterion
422  // Return true if the new object has been created
423  bool UpdateScene(VP1CC_MbtsScinInfoMap* drawinfo,
424  VP1CC_SoNode2MbtsMap* node2mbts,
425  double energy,
426  bool outline,
427  double clipRadius);
428 
429  // Print out cell information to the vector of strings
430  std::vector<std::string> ToString();
431 
432 
433  private:
434  const TileCell* m_cell; // Pointer to the Cell object (TileCell)
435  const TileTBID* m_idhelper; // Tile TB id helper
436  SoSeparator* m_separator; // Separator helper
437  bool m_run2Geo; // RUN2 geometry: the readout granularity of MBTS2 changes from 8 to 4
438 };
439 
440 #endif
VP1CC_SelTypeTileB
@ VP1CC_SelTypeTileB
Definition: VP1CaloCells.h:83
VP1CC_TileBarEc::ToString
std::vector< std::string > ToString(const CaloCell_ID *calo_id, const std::string &extrainfos="")
Definition: VP1CaloCells.cxx:538
VP1CaloCell::getID
Identifier getID()
Definition: VP1CaloCells.cxx:53
TileCell
Definition: TileCell.h:57
VP1CC_TileCrack::m_helper
VP1ExtraSepLayerHelper * m_helper
Definition: VP1CaloCells.h:377
VP1CC_TileBarEc::m_helperUp
VP1ExtraSepLayerHelper * m_helperUp
Definition: VP1CaloCells.h:341
VP1CC_MbtsXfMap
std::map< int, GeoTrf::Transform3D, std::less< int > > VP1CC_MbtsXfMap
Definition: VP1CaloCells.h:391
VP1CC_TileBarEc::GetFragChannel
int GetFragChannel(const TileHWID *tile_hw_id, bool up, int &frag, int &channel)
Definition: VP1CaloCells.cxx:574
VP1Mbts::ToString
std::vector< std::string > ToString()
Definition: VP1CaloCells.cxx:1046
VP1CC_GlobalCuts::allowedEta
VP1Interval allowedEta
Definition: VP1CaloCells.h:57
VP1CC_LAr::VP1CC_LAr
VP1CC_LAr(const CaloCell *caloCell)
Definition: VP1CaloCells.cxx:112
VP1CaloCell::build3DObjects
virtual void build3DObjects(VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &)=0
VP1CC_LArFCAL::ToString
std::vector< std::string > ToString(const CaloCell_ID *calo_id, const std::string &extrainfos="")
Definition: VP1CaloCells.cxx:384
VP1CC_TileBarEc::m_hitDown
SoGenericBox * m_hitDown
Definition: VP1CaloCells.h:340
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
max
#define max(a, b)
Definition: cfImp.cxx:41
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
VP1CC_LAr
Definition: VP1CaloCells.h:212
VP1CC_SepTileNegativeUp
@ VP1CC_SepTileNegativeUp
Definition: VP1CaloCells.h:102
VP1CC_SelTypeFCAL1
@ VP1CC_SelTypeFCAL1
Definition: VP1CaloCells.h:80
VP1CC_LArEMB
Definition: VP1CaloCells.h:230
VP1CC_LAr::m_hit
SoGenericBox * m_hit
Definition: VP1CaloCells.h:220
VP1CC_LAr::remove3DObjects
virtual void remove3DObjects(VP1CC_SoNode2CCMap *node2cc)
Definition: VP1CaloCells.cxx:127
VP1CC_LArEMECHEC
Definition: VP1CaloCells.h:250
VP1CC_TileCrack::GetFragChannel
int GetFragChannel(const TileHWID *tile_hw_id, bool up, int &frag, int &channel)
Definition: VP1CaloCells.cxx:844
VP1CC_SeparatorTypesSet
std::set< VP1CC_SeparatorTypes > VP1CC_SeparatorTypesSet
Definition: VP1CaloCells.h:112
VP1CC_SepTilePositiveNeg
@ VP1CC_SepTilePositiveNeg
Definition: VP1CaloCells.h:101
VP1CC_SepTilePositiveUp
@ VP1CC_SepTilePositiveUp
Definition: VP1CaloCells.h:99
VP1CC_MbtsScinInfo::dx2
double dx2
Definition: VP1CaloCells.h:396
VP1CC_TileBarEc::m_helperDown
VP1ExtraSepLayerHelper * m_helperDown
Definition: VP1CaloCells.h:342
VP1CC_SepLArFCALPos
@ VP1CC_SepLArFCALPos
Definition: VP1CaloCells.h:94
VP1CCIntervalPair
QPair< VP1Interval, VP1Interval > VP1CCIntervalPair
Definition: VP1CaloCells.h:115
VP1CC_GlobalCuts::operator==
bool operator==(const VP1CC_GlobalCuts &other) const
Definition: VP1CaloCells.h:50
VP1Mbts
Definition: VP1CaloCells.h:413
VP1CC_TileBarEc::id2name
std::string id2name(Identifier &id)
Definition: VP1CaloCells.cxx:686
VP1CCUi2Manager::showNegativeCB
const QCheckBox * showNegativeCB
Definition: VP1CaloCells.h:125
VP1CC_TileCrack::VP1CC_TileCrack
VP1CC_TileCrack(const CaloCell *caloCell, const TileID *tile_id, const VP1CC_SeparatorMap *separators)
Definition: VP1CaloCells.cxx:754
VP1CC_GlobalCuts::allowedPhi
QList< VP1Interval > allowedPhi
Definition: VP1CaloCells.h:58
VP1CaloCell::isInsideClipVolume
virtual bool isInsideClipVolume(const VP1CC_GlobalCuts &globalCuts)
Definition: VP1CaloCells.cxx:90
VP1CC_Tile::~VP1CC_Tile
virtual ~VP1CC_Tile()
Definition: VP1CaloCells.cxx:461
VP1CC_TileBarEc
Definition: VP1CaloCells.h:314
VP1CC_SepLArEMBPos
@ VP1CC_SepLArEMBPos
Definition: VP1CaloCells.h:91
VP1CC_GlobalCuts
Definition: VP1CaloCells.h:47
VP1CCUi2Manager::globalEnableCB
const QCheckBox * globalEnableCB
Definition: VP1CaloCells.h:124
VP1CC_SelTypeEMEC3
@ VP1CC_SelTypeEMEC3
Definition: VP1CaloCells.h:75
TileInfo
Definition: TileInfo.h:49
VP1CCIntervalMap
QMap< VP1CC_SelectionTypes, VP1CCIntervalPair > VP1CCIntervalMap
Definition: VP1CaloCells.h:119
VP1CC_SepTileNegativeDown
@ VP1CC_SepTileNegativeDown
Definition: VP1CaloCells.h:103
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
VP1CaloCell::updateScene
void updateScene(VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &globalCuts)
Definition: VP1CaloCells.cxx:99
VP1CC_SelTypeEMB2
@ VP1CC_SelTypeEMB2
Definition: VP1CaloCells.h:70
VP1CC_SelTypeHEC1
@ VP1CC_SelTypeHEC1
Definition: VP1CaloCells.h:77
VP1CC_MbtsScinInfo
Definition: VP1CaloCells.h:394
VP1CC_GlobalCuts::sideA
bool sideA
Definition: VP1CaloCells.h:55
VP1Mbts::m_separator
SoSeparator * m_separator
Definition: VP1CaloCells.h:436
VP1CC_MbtsScinInfo::dx1
double dx1
Definition: VP1CaloCells.h:395
VP1CC_TileCrack::~VP1CC_TileCrack
virtual ~VP1CC_TileCrack()
Definition: VP1CaloCells.cxx:782
VP1CC_LAr::m_helper
VP1ExtraSepLayerHelper * m_helper
Definition: VP1CaloCells.h:221
VP1CC_TileBarEc::build3DObjects
virtual void build3DObjects(VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &)
Definition: VP1CaloCells.cxx:598
GeoPrimitives.h
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
VP1CC_LArFCAL
Definition: VP1CaloCells.h:273
VP1CaloCell::remove3DObjects
virtual void remove3DObjects(VP1CC_SoNode2CCMap *node2cc)=0
VP1CaloCell
Definition: VP1CaloCells.h:160
VP1ExtraSepLayerHelper
Definition: VP1ExtraSepLayerHelper.h:22
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
LArDigit
Liquid Argon digit base class.
Definition: LArDigit.h:25
VP1CC_LArFCAL::VP1CC_LArFCAL
VP1CC_LArFCAL(const CaloCell *caloCell, const VP1CC_SeparatorMap *separators)
Definition: VP1CaloCells.cxx:355
VP1CC_SepTileNegativePos
@ VP1CC_SepTileNegativePos
Definition: VP1CaloCells.h:104
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
VP1CaloCell::VP1CaloCell
VP1CaloCell(const CaloCell *caloCell)
Definition: VP1CaloCells.cxx:35
VP1CaloCell::~VP1CaloCell
virtual ~VP1CaloCell()
Definition: VP1CaloCells.cxx:44
VP1CC_TileBarEc::m_hitUp
SoGenericBox * m_hitUp
Definition: VP1CaloCells.h:339
CalibCoolCompareRT.up
up
Definition: CalibCoolCompareRT.py:109
VP1CC_LAr::~VP1CC_LAr
virtual ~VP1CC_LAr()
Definition: VP1CaloCells.cxx:123
VP1CC_MbtsScinInfo::dz
double dz
Definition: VP1CaloCells.h:399
VP1CaloCell::energyToTransverse
double energyToTransverse(const double &) const
Definition: VP1CaloCells.cxx:58
VP1CC_LArFCAL::~VP1CC_LArFCAL
virtual ~VP1CC_LArFCAL()
Definition: VP1CaloCells.cxx:380
VP1CC_SelTypeHEC2
@ VP1CC_SelTypeHEC2
Definition: VP1CaloCells.h:78
VP1CC_LArEMECHEC::ToString
std::vector< std::string > ToString(const CaloCell_ID *calo_id, const std::string &extrainfos="")
Definition: VP1CaloCells.cxx:283
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
VP1CC_SelTypeHEC3
@ VP1CC_SelTypeHEC3
Definition: VP1CaloCells.h:79
VP1CC_TileCrack::remove3DObjects
virtual void remove3DObjects(VP1CC_SoNode2CCMap *node2cc)
Definition: VP1CaloCells.cxx:921
TileCablingService
Definition: TileCablingService.h:23
VP1CC_TileBarEc::~VP1CC_TileBarEc
virtual ~VP1CC_TileBarEc()
Definition: VP1CaloCells.cxx:534
VP1CC_SepLArFCALNeg
@ VP1CC_SepLArFCALNeg
Definition: VP1CaloCells.h:98
VP1Mbts::m_run2Geo
bool m_run2Geo
Definition: VP1CaloCells.h:437
ICaloBadChanTool
Definition: ICaloBadChanTool.h:15
VP1Interval.h
VP1CC_MbtsScinInfoMap
std::map< int, VP1CC_MbtsScinInfo *, std::less< int > > VP1CC_MbtsScinInfoMap
Definition: VP1CaloCells.h:407
VP1CC_GlobalCuts::clipRadius
double clipRadius
Definition: VP1CaloCells.h:59
VP1Mbts::VP1Mbts
VP1Mbts(const TileCell *cell, const TileTBID *idhelper, SoSeparator *separator, bool run2Geo)
Definition: VP1CaloCells.cxx:936
VP1CC_TileBarEc::isInsideClipVolume
bool isInsideClipVolume(const VP1CC_GlobalCuts &globalCuts)
Definition: VP1CaloCells.cxx:656
VP1CCUi2Manager::upperThreshOffCB
const QCheckBox * upperThreshOffCB
Definition: VP1CaloCells.h:126
VP1CC_LArEMB::ToString
std::vector< std::string > ToString(const CaloCell_ID *calo_id, const std::string &extrainfos="")
Definition: VP1CaloCells.cxx:207
VP1CC_SeparatorMap
std::map< VP1CC_SeparatorTypes, VP1ExtraSepLayerHelper *, std::less< VP1CC_SeparatorTypes > > VP1CC_SeparatorMap
Definition: VP1CaloCells.h:109
VP1CC_MbtsScinInfo::cTransforms
VP1CC_MbtsXfMap cTransforms
Definition: VP1CaloCells.h:401
VP1Mbts::m_idhelper
const TileTBID * m_idhelper
Definition: VP1CaloCells.h:435
VP1CCSelectionType2GuiMap
std::map< VP1CC_SelectionTypes, VP1CCUi2Manager * > VP1CCSelectionType2GuiMap
Definition: VP1CaloCells.h:135
TileDigits
Definition: TileDigits.h:30
VP1CC_SelTypeFCAL3
@ VP1CC_SelTypeFCAL3
Definition: VP1CaloCells.h:82
VP1CaloCell::cellDepth
double cellDepth(const QPair< bool, double > &scale, const double &energy)
Definition: VP1CaloCells.h:189
IdentifierHash.h
VP1CC_LArEMECHEC::~VP1CC_LArEMECHEC
virtual ~VP1CC_LArEMECHEC()
Definition: VP1CaloCells.cxx:279
VP1CC_SelTypeHEC0
@ VP1CC_SelTypeHEC0
Definition: VP1CaloCells.h:76
VP1CC_SelTypeEMB1
@ VP1CC_SelTypeEMB1
Definition: VP1CaloCells.h:69
VP1CCUi2Manager::lowerThresholdSB
const QDoubleSpinBox * lowerThresholdSB
Definition: VP1CaloCells.h:128
VP1CaloCell::cutPassed
bool cutPassed(const VP1CC_GlobalCuts &globalCuts)
Definition: VP1CaloCells.cxx:63
VP1CC_SelTypeFCAL2
@ VP1CC_SelTypeFCAL2
Definition: VP1CaloCells.h:81
VP1CC_SepTilePositiveDown
@ VP1CC_SepTilePositiveDown
Definition: VP1CaloCells.h:100
VP1CC_SelTypeTileEC
@ VP1CC_SelTypeTileEC
Definition: VP1CaloCells.h:84
VP1CC_MbtsScinInfo::aTransforms
VP1CC_MbtsXfMap aTransforms
Definition: VP1CaloCells.h:400
VP1CC_SepLArHECNeg
@ VP1CC_SepLArHECNeg
Definition: VP1CaloCells.h:97
VP1CC_SepLArEMECNeg
@ VP1CC_SepLArEMECNeg
Definition: VP1CaloCells.h:96
VP1CC_LArEMB::build3DObjects
virtual void build3DObjects(VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &)
Definition: VP1CaloCells.cxx:166
VP1CaloCell::m_caloCell
const CaloCell * m_caloCell
Definition: VP1CaloCells.h:204
VP1CCUi2Manager::upperThresholdSB
QDoubleSpinBox * upperThresholdSB
Definition: VP1CaloCells.h:129
VP1Mbts::~VP1Mbts
~VP1Mbts()
Definition: VP1CaloCells.cxx:947
VP1CC_SelTypeEMEC0
@ VP1CC_SelTypeEMEC0
Definition: VP1CaloCells.h:72
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
VP1CaloCell::getCaloCell
const CaloCell * getCaloCell()
Definition: VP1CaloCells.cxx:48
VP1Interval
Definition: VP1Interval.h:23
VP1CC_TileCrack::ToString
std::vector< std::string > ToString(const CaloCell_ID *calo_id, const std::string &extrainfos="")
Definition: VP1CaloCells.cxx:786
VP1CC_TileBarEc::remove3DObjects
virtual void remove3DObjects(VP1CC_SoNode2CCMap *node2cc)
Definition: VP1CaloCells.cxx:670
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
VP1CC_GlobalCuts::sideC
bool sideC
Definition: VP1CaloCells.h:56
VP1CC_TileCrack
Definition: VP1CaloCells.h:351
VP1CC_LArEMECHEC::VP1CC_LArEMECHEC
VP1CC_LArEMECHEC(const CaloCell *caloCell, const CaloCell_ID *calo_id, const VP1CC_SeparatorMap *separators)
Definition: VP1CaloCells.cxx:238
VP1CC_Tile
Definition: VP1CaloCells.h:294
VP1CC_SepMBTS
@ VP1CC_SepMBTS
Definition: VP1CaloCells.h:105
SoGenericBox
Definition: SoGenericBox.h:26
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
VP1CC_MbtsScinInfo::dy2
double dy2
Definition: VP1CaloCells.h:398
VP1CC_LArFCAL::build3DObjects
virtual void build3DObjects(VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &)
Definition: VP1CaloCells.cxx:414
VP1CC_Tile::GetFragChannel
virtual int GetFragChannel(const TileHWID *tile_hw_id, bool up, int &frag, int &channel)=0
VP1CC_SepLArEMBNeg
@ VP1CC_SepLArEMBNeg
Definition: VP1CaloCells.h:95
VP1CC_Tile::m_tileID
const TileID * m_tileID
Definition: VP1CaloCells.h:307
VP1CC_SepLArEMECPos
@ VP1CC_SepLArEMECPos
Definition: VP1CaloCells.h:92
VP1CC_LArEMB::VP1CC_LArEMB
VP1CC_LArEMB(const CaloCell *caloCell, const VP1CC_SeparatorMap *separators)
Definition: VP1CaloCells.cxx:137
VP1CC_TileCrack::build3DObjects
virtual void build3DObjects(VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &)
Definition: VP1CaloCells.cxx:863
VP1Mbts::UpdateScene
bool UpdateScene(VP1CC_MbtsScinInfoMap *drawinfo, VP1CC_SoNode2MbtsMap *node2mbts, double energy, bool outline, double clipRadius)
Definition: VP1CaloCells.cxx:951
ITkPixelChargeCalibration.separators
separators
Definition: ITkPixelChargeCalibration.py:99
TileTBID
Helper class for TileCal offline identifiers of ancillary testbeam detectors and MBTS.
Definition: Calorimeter/CaloIdentifier/CaloIdentifier/TileTBID.h:65
VP1CaloCell::ToString
virtual std::vector< std::string > ToString(const CaloCell_ID *calo_id, const std::string &extrainfos="")=0
VP1CC_SoNode2MbtsMap
std::map< SoNode *, VP1Mbts *, std::less< SoNode * > > VP1CC_SoNode2MbtsMap
Definition: VP1CaloCells.h:409
VP1CC_TileBarEc::VP1CC_TileBarEc
VP1CC_TileBarEc(const CaloCell *caloCell, const TileID *tile_id, const VP1CC_SeparatorMap *separators)
Definition: VP1CaloCells.cxx:466
VP1CC_SepLArHECPos
@ VP1CC_SepLArHECPos
Definition: VP1CaloCells.h:93
VP1CC_LArEMB::~VP1CC_LArEMB
virtual ~VP1CC_LArEMB()
Definition: VP1CaloCells.cxx:162
VP1CC_MbtsScinInfo::dy1
double dy1
Definition: VP1CaloCells.h:397
VP1CC_LArEMECHEC::build3DObjects
virtual void build3DObjects(VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &)
Definition: VP1CaloCells.cxx:318
VP1CC_TileCrack::isInsideClipVolume
bool isInsideClipVolume(const VP1CC_GlobalCuts &globalCuts)
Definition: VP1CaloCells.cxx:908
VP1Mbts::m_cell
const TileCell * m_cell
Definition: VP1CaloCells.h:434
VP1CC_SelTypeEMB0
@ VP1CC_SelTypeEMB0
Definition: VP1CaloCells.h:68
VP1CC_SelTypeEMB3
@ VP1CC_SelTypeEMB3
Definition: VP1CaloCells.h:71
VP1CC_Tile::VP1CC_Tile
VP1CC_Tile(const CaloCell *caloCell, const TileID *tile_id)
Definition: VP1CaloCells.cxx:454
VP1CC_SeparatorTypes
VP1CC_SeparatorTypes
Definition: VP1CaloCells.h:90
VP1CC_TileCrack::m_hit
SoGenericBox * m_hit
Definition: VP1CaloCells.h:376
VP1CC_SelectionTypes
VP1CC_SelectionTypes
Definition: VP1CaloCells.h:67
VP1CC_SelTypeTileCrack
@ VP1CC_SelTypeTileCrack
Definition: VP1CaloCells.h:85
VP1CC_SelTypeEMEC2
@ VP1CC_SelTypeEMEC2
Definition: VP1CaloCells.h:74
VP1CC_SoNode2CCMap
std::map< SoNode *, VP1CaloCell *, std::less< SoNode * > > VP1CC_SoNode2CCMap
Definition: VP1CaloCells.h:156
VP1CCUi2Manager
Definition: VP1CaloCells.h:123
VP1CC_SelTypeEMEC1
@ VP1CC_SelTypeEMEC1
Definition: VP1CaloCells.h:73
Identifier
Definition: IdentifierFieldParser.cxx:14