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 
17  ZdcTopology();
19  void exclude(const HcalZDCDetId& id);
21  void exclude(int zside);
23  void exclude(int zside, HcalZDCDetId::Section section);
25  int exclude(int zside, HcalZDCDetId::Section section, int ich1, int ich2);
26 
29  virtual bool valid(const HcalZDCDetId& id) const;
30 
32  virtual std::vector<DetId> transverse(const DetId& id) const;
33 
35  virtual std::vector<DetId> longitudinal(const DetId& id) const;
36 
37  //** I have to put this here since they inherit from CaloSubdetectorTopology
38  std::vector<DetId> east(const DetId& id) const override;
39  std::vector<DetId> west(const DetId& id) const override;
40  std::vector<DetId> north(const DetId& id) const override;
41  std::vector<DetId> south(const DetId& id) const override;
42  std::vector<DetId> up(const DetId& id) const override;
43  std::vector<DetId> down(const DetId& id) const override;
44 
45 
46  // how many channels (deph) for a given section
48  int ncells(HcalZDCDetId::Section section) const;
49 
50  //return first and last cell of each section
51  int firstCell(HcalZDCDetId::Section section)const;
52  int lastCell(HcalZDCDetId::Section section)const;
53 
54  private:
55 
56  bool validRaw(const HcalZDCDetId& id) const;
57 
58  std::vector<HcalZDCDetId> exclusionList_;
59 
61 
64 
65  bool isExcluded(const HcalZDCDetId& id) const;
66 
67  int firstEMModule() const {return firstEMModule_;}
68  int firstHADModule() const {return firstHADModule_;}
69  int firstLUMModule() const {return firstLUMModule_;}
70  int firstRPDModule() const {return firstRPDModule_;}
71  int lastEMModule() const {return lastEMModule_;}
72  int lastHADModule() const {return lastHADModule_;}
73  int lastLUMModule() const {return lastLUMModule_;}
74  int lastRPDModule() const {return lastRPDModule_;}
75 
76 };
77 
78 
79 #endif
int firstEMModule_
Definition: ZdcTopology.h:62
bool excludeEM_
Definition: ZdcTopology.h:60
std::vector< DetId > north(const DetId &id) const override
Definition: ZdcTopology.cc:233
void exclude(const HcalZDCDetId &id)
Definition: ZdcTopology.cc:57
virtual std::vector< DetId > transverse(const DetId &id) const
Definition: ZdcTopology.cc:141
int lastLUMModule_
Definition: ZdcTopology.h:62
bool excludeRPD_
Definition: ZdcTopology.h:60
bool excludeHAD_
Definition: ZdcTopology.h:60
int firstRPDModule() const
Definition: ZdcTopology.h:70
std::vector< DetId > up(const DetId &id) const override
Definition: ZdcTopology.cc:245
int lastRPDModule() const
Definition: ZdcTopology.h:74
std::vector< DetId > east(const DetId &id) const override
Definition: ZdcTopology.cc:219
bool validRaw(const HcalZDCDetId &id) const
Definition: ZdcTopology.cc:118
int firstEMModule() const
Definition: ZdcTopology.h:67
std::vector< DetId > west(const DetId &id) const override
Definition: ZdcTopology.cc:226
virtual bool valid(const HcalZDCDetId &id) const
Definition: ZdcTopology.cc:29
int firstRPDModule_
Definition: ZdcTopology.h:62
int lastCell(HcalZDCDetId::Section section) const
Definition: ZdcTopology.cc:282
bool excludeZN_
Definition: ZdcTopology.h:60
int lastEMModule() const
Definition: ZdcTopology.h:71
virtual unsigned int ncells() const
return a count of valid cells (for dense indexing use)
int firstHADModule_
Definition: ZdcTopology.h:62
std::vector< HcalZDCDetId > exclusionList_
Definition: ZdcTopology.h:58
bool excludeLUM_
Definition: ZdcTopology.h:60
int lastRPDModule_
Definition: ZdcTopology.h:62
int lastHADModule() const
Definition: ZdcTopology.h:72
std::vector< DetId > down(const DetId &id) const override
Definition: ZdcTopology.cc:251
Definition: DetId.h:18
int lastLUMModule() const
Definition: ZdcTopology.h:73
virtual bool valid(const DetId &) const
is this detid present in the Topology?
bool isExcluded(const HcalZDCDetId &id) const
Definition: ZdcTopology.cc:36
int firstLUMModule() const
Definition: ZdcTopology.h:69
bool excludeZP_
Definition: ZdcTopology.h:60
int firstCell(HcalZDCDetId::Section section) const
Definition: ZdcTopology.cc:270
int lastEMModule_
Definition: ZdcTopology.h:62
int firstLUMModule_
Definition: ZdcTopology.h:62
int firstHADModule() const
Definition: ZdcTopology.h:68
std::vector< DetId > south(const DetId &id) const override
Definition: ZdcTopology.cc:239
virtual std::vector< DetId > longitudinal(const DetId &id) const
Definition: ZdcTopology.cc:166
int lastHADModule_
Definition: ZdcTopology.h:62