![]() |
|
|||
File indexing completed on 2024-04-06 12:14:24
0001 #ifndef CSC_WIRE_GROUPING_H 0002 #define CSC_WIRE_GROUPING_H 0003 0004 /** \class CSCWireGrouping 0005 * An ABC defining interface for wire-grouping related functionality 0006 * for detectors modelled by a WireTopology. 0007 * 0008 * \author Tim Cox 0009 * 0010 */ 0011 0012 class CSCWireGrouping { 0013 public: 0014 virtual ~CSCWireGrouping() {} 0015 0016 /** 0017 * Total number of (virtual) wires. 0018 * Some wires may not be implemented in the hardware. 0019 * This is the number which would fill the region covered 0020 * by wires, assuming the constant wire spacing. 0021 */ 0022 virtual int numberOfWires() const = 0; 0023 0024 /** 0025 * How many wire groups 0026 */ 0027 virtual int numberOfWireGroups() const = 0; 0028 0029 /** 0030 * How many wires in a wiregroup 0031 */ 0032 virtual int numberOfWiresPerGroup(int wireGroup) const = 0; 0033 0034 /** 0035 * Wire group containing a given wire 0036 */ 0037 virtual int wireGroup(int wire) const = 0; 0038 0039 /** 0040 * Middle of wire-group. 0041 * This is the central wire no. for a group with an odd no. of wires. 0042 * This is a pseudo-wire no. for a group with an even no. of wires. 0043 * Accordingly, it is non-integer. 0044 */ 0045 virtual float middleWireOfGroup(int wireGroup) const = 0; 0046 0047 /** 0048 * Allow proper copying of derived classes via base pointer 0049 */ 0050 virtual CSCWireGrouping* clone() const = 0; 0051 }; 0052 0053 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |