CMS 3D CMS Logo

ZdcTopology.h
Go to the documentation of this file.
1 #ifndef Geometry_ForwardGeometry_ZdcTopology_H
2 #define Geometry_ForwardGeometry_ZdcTopology_H 1
3 
4 #include <vector>
7 
15 public:
16  ZdcTopology();
18  void exclude(const HcalZDCDetId& id);
20  void exclude(int zside);
24  int exclude(int zside, HcalZDCDetId::Section section, int ich1, int ich2);
25 
28  virtual bool valid(const HcalZDCDetId& id) const;
29 
31  virtual std::vector<DetId> transverse(const DetId& id) const;
32 
34  virtual std::vector<DetId> longitudinal(const DetId& id) const;
35 
36  //** I have to put this here since they inherit from CaloSubdetectorTopology
37  std::vector<DetId> east(const DetId& id) const override;
38  std::vector<DetId> west(const DetId& id) const override;
39  std::vector<DetId> north(const DetId& id) const override;
40  std::vector<DetId> south(const DetId& id) const override;
41  std::vector<DetId> up(const DetId& id) const override;
42  std::vector<DetId> down(const DetId& id) const override;
43 
44  // how many channels (deph) for a given section
47 
48  //return first and last cell of each section
51 
52 private:
53  bool validRaw(const HcalZDCDetId& id) const;
54 
55  std::vector<HcalZDCDetId> exclusionList_;
56 
58 
61 
62  bool isExcluded(const HcalZDCDetId& id) const;
63 
64  int firstEMModule() const { return firstEMModule_; }
65  int firstHADModule() const { return firstHADModule_; }
66  int firstLUMModule() const { return firstLUMModule_; }
67  int firstRPDModule() const { return firstRPDModule_; }
68  int lastEMModule() const { return lastEMModule_; }
69  int lastHADModule() const { return lastHADModule_; }
70  int lastLUMModule() const { return lastLUMModule_; }
71  int lastRPDModule() const { return lastRPDModule_; }
72 };
73 
74 #endif
ZdcTopology::firstEMModule_
int firstEMModule_
Definition: ZdcTopology.h:59
ZdcTopology::validRaw
bool validRaw(const HcalZDCDetId &id) const
Definition: ZdcTopology.cc:161
ZdcTopology::up
std::vector< DetId > up(const DetId &id) const override
Definition: ZdcTopology.cc:287
ZdcTopology::excludeZN_
bool excludeZN_
Definition: ZdcTopology.h:57
ZdcTopology::exclusionList_
std::vector< HcalZDCDetId > exclusionList_
Definition: ZdcTopology.h:55
HcalZDCDetId::Section
Section
Definition: HcalZDCDetId.h:23
ZdcTopology::firstLUMModule_
int firstLUMModule_
Definition: ZdcTopology.h:59
ZdcTopology::firstEMModule
int firstEMModule() const
Definition: ZdcTopology.h:64
ecaldqm::zside
int zside(DetId const &)
Definition: EcalDQMCommonUtils.cc:189
ZdcTopology::lastHADModule_
int lastHADModule_
Definition: ZdcTopology.h:59
ZdcTopology::firstCell
int firstCell(HcalZDCDetId::Section section) const
Definition: ZdcTopology.cc:320
ZdcTopology::lastEMModule
int lastEMModule() const
Definition: ZdcTopology.h:68
CaloSubdetectorTopology::valid
virtual bool valid(const DetId &) const
is this detid present in the Topology?
Definition: CaloSubdetectorTopology.h:24
HcalZDCDetId.h
ZdcTopology::firstHADModule
int firstHADModule() const
Definition: ZdcTopology.h:65
ZdcTopology::valid
virtual bool valid(const HcalZDCDetId &id) const
Definition: ZdcTopology.cc:27
DetId
Definition: DetId.h:17
HcalZDCDetId
Definition: HcalZDCDetId.h:16
ZdcTopology::north
std::vector< DetId > north(const DetId &id) const override
Definition: ZdcTopology.cc:277
ZdcTopology::south
std::vector< DetId > south(const DetId &id) const override
Definition: ZdcTopology.cc:282
ZdcTopology::firstRPDModule_
int firstRPDModule_
Definition: ZdcTopology.h:59
ZdcTopology::lastLUMModule_
int lastLUMModule_
Definition: ZdcTopology.h:59
ZdcTopology::lastRPDModule
int lastRPDModule() const
Definition: ZdcTopology.h:71
ZdcTopology::east
std::vector< DetId > east(const DetId &id) const override
Definition: ZdcTopology.cc:265
ZdcTopology::excludeZP_
bool excludeZP_
Definition: ZdcTopology.h:57
ZdcTopology::west
std::vector< DetId > west(const DetId &id) const override
Definition: ZdcTopology.cc:271
ZdcTopology::excludeHAD_
bool excludeHAD_
Definition: ZdcTopology.h:57
ZdcTopology::firstRPDModule
int firstRPDModule() const
Definition: ZdcTopology.h:67
CaloSubdetectorTopology::ncells
virtual unsigned int ncells() const
return a count of valid cells (for dense indexing use)
Definition: CaloSubdetectorTopology.h:30
ZdcTopology::firstHADModule_
int firstHADModule_
Definition: ZdcTopology.h:59
ZdcTopology::excludeLUM_
bool excludeLUM_
Definition: ZdcTopology.h:57
ZdcTopology::longitudinal
virtual std::vector< DetId > longitudinal(const DetId &id) const
Definition: ZdcTopology.cc:209
ZdcTopology::lastCell
int lastCell(HcalZDCDetId::Section section) const
Definition: ZdcTopology.cc:342
ZdcTopology::exclude
void exclude(const HcalZDCDetId &id)
Definition: ZdcTopology.cc:64
ZdcTopology::lastLUMModule
int lastLUMModule() const
Definition: ZdcTopology.h:70
CaloSubdetectorTopology
Definition: CaloSubdetectorTopology.h:17
ZdcTopology::down
std::vector< DetId > down(const DetId &id) const override
Definition: ZdcTopology.cc:292
ZdcTopology::lastRPDModule_
int lastRPDModule_
Definition: ZdcTopology.h:59
trackingPlots.section
section
Definition: trackingPlots.py:1380
CaloSubdetectorTopology.h
ZdcTopology::transverse
virtual std::vector< DetId > transverse(const DetId &id) const
Definition: ZdcTopology.cc:183
ZdcTopology::lastHADModule
int lastHADModule() const
Definition: ZdcTopology.h:69
ZdcTopology::excludeRPD_
bool excludeRPD_
Definition: ZdcTopology.h:57
ZdcTopology::ZdcTopology
ZdcTopology()
Definition: ZdcTopology.cc:11
ZdcTopology::firstLUMModule
int firstLUMModule() const
Definition: ZdcTopology.h:66
ZdcTopology::lastEMModule_
int lastEMModule_
Definition: ZdcTopology.h:59
ZdcTopology
Definition: ZdcTopology.h:14
ZdcTopology::excludeEM_
bool excludeEM_
Definition: ZdcTopology.h:57
ZdcTopology::isExcluded
bool isExcluded(const HcalZDCDetId &id) const
Definition: ZdcTopology.cc:34