CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
16 public:
17 
18  ZdcTopology();
20  void exclude(const HcalZDCDetId& id);
22  void exclude(int zside);
24  void exclude(int zside, HcalZDCDetId::Section section);
26  int exclude(int zside, HcalZDCDetId::Section section, int ich1, int ich2);
27 
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  virtual std::vector<DetId> east(const DetId& id) const;
39  virtual std::vector<DetId> west(const DetId& id) const;
40  virtual std::vector<DetId> north(const DetId& id) const;
41  virtual std::vector<DetId> south(const DetId& id) const;
42  virtual std::vector<DetId> up(const DetId& id) const;
43  virtual std::vector<DetId> down(const DetId& id) const;
44 
45 
46  // how many channels (deph) for a given section
47  int ncells(HcalZDCDetId::Section section) const;
48 
49  //return first and last cell of each section
50  int firstCell(HcalZDCDetId::Section section)const;
51  int lastCell(HcalZDCDetId::Section section)const;
52 
53  private:
54 
55  bool validRaw(const HcalZDCDetId& id) const;
56 
57  std::vector<HcalZDCDetId> exclusionList_;
58 
60 
63 
64  bool isExcluded(const HcalZDCDetId& id) const;
65 
66  int firstEMModule() const {return firstEMModule_;}
67  int firstHADModule() const {return firstHADModule_;}
68  int firstLUMModule() const {return firstLUMModule_;}
69  int lastEMModule() const {return lastEMModule_;}
70  int lastHADModule() const {return lastHADModule_;}
71  int lastLUMModule() const {return lastLUMModule_;}
72 
73 };
74 
75 
76 #endif
int firstEMModule_
Definition: ZdcTopology.h:61
bool excludeEM_
Definition: ZdcTopology.h:59
void exclude(const HcalZDCDetId &id)
Definition: ZdcTopology.cc:59
virtual std::vector< DetId > transverse(const DetId &id) const
Definition: ZdcTopology.cc:134
int lastLUMModule_
Definition: ZdcTopology.h:61
bool excludeHAD_
Definition: ZdcTopology.h:59
virtual std::vector< DetId > down(const DetId &id) const
Definition: ZdcTopology.cc:230
bool validRaw(const HcalZDCDetId &id) const
Definition: ZdcTopology.cc:118
virtual std::vector< DetId > up(const DetId &id) const
Definition: ZdcTopology.cc:224
int firstEMModule() const
Definition: ZdcTopology.h:66
virtual std::vector< DetId > south(const DetId &id) const
Definition: ZdcTopology.cc:218
virtual std::vector< DetId > west(const DetId &id) const
Definition: ZdcTopology.cc:205
virtual bool valid(const HcalZDCDetId &id) const
Definition: ZdcTopology.cc:25
int lastCell(HcalZDCDetId::Section section) const
Definition: ZdcTopology.cc:259
bool excludeZN_
Definition: ZdcTopology.h:59
virtual std::vector< DetId > north(const DetId &id) const
Definition: ZdcTopology.cc:212
int lastEMModule() const
Definition: ZdcTopology.h:69
virtual unsigned int ncells() const
return a count of valid cells (for dense indexing use)
int firstHADModule_
Definition: ZdcTopology.h:61
std::vector< HcalZDCDetId > exclusionList_
Definition: ZdcTopology.h:57
bool excludeLUM_
Definition: ZdcTopology.h:59
int lastHADModule() const
Definition: ZdcTopology.h:70
Definition: DetId.h:20
int lastLUMModule() const
Definition: ZdcTopology.h:71
bool isExcluded(const HcalZDCDetId &id) const
Definition: ZdcTopology.cc:32
int firstLUMModule() const
Definition: ZdcTopology.h:68
bool excludeZP_
Definition: ZdcTopology.h:59
int firstCell(HcalZDCDetId::Section section) const
Definition: ZdcTopology.cc:248
int lastEMModule_
Definition: ZdcTopology.h:61
int firstLUMModule_
Definition: ZdcTopology.h:61
virtual std::vector< DetId > east(const DetId &id) const
Definition: ZdcTopology.cc:198
int firstHADModule() const
Definition: ZdcTopology.h:67
virtual std::vector< DetId > longitudinal(const DetId &id) const
Definition: ZdcTopology.cc:159
int lastHADModule_
Definition: ZdcTopology.h:61