CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
CSCUngangedWireGrouping Class Reference

#include <CSCUngangedWireGrouping.h>

Inheritance diagram for CSCUngangedWireGrouping:
CSCWireGrouping

Public Member Functions

CSCWireGroupingclone () const
 
 CSCUngangedWireGrouping (int nwires)
 
float middleWireOfGroup (int wireGroup) const
 
int numberOfWireGroups () const
 
int numberOfWires () const
 
int numberOfWiresPerGroup (int wireGroup) const
 
int wireGroup (int wire) const
 
virtual ~CSCUngangedWireGrouping ()
 
- Public Member Functions inherited from CSCWireGrouping
virtual ~CSCWireGrouping ()
 

Private Attributes

int theNumberOfWires
 

Detailed Description

A concrete CSCWireGrouping in which wires are not ganged.

Author
Tim Cox

Definition at line 13 of file CSCUngangedWireGrouping.h.

Constructor & Destructor Documentation

virtual CSCUngangedWireGrouping::~CSCUngangedWireGrouping ( )
inlinevirtual

Definition at line 15 of file CSCUngangedWireGrouping.h.

15 {}
CSCUngangedWireGrouping::CSCUngangedWireGrouping ( int  nwires)
inlineexplicit

Definition at line 16 of file CSCUngangedWireGrouping.h.

Referenced by clone().

16  :
17  theNumberOfWires( nwires ) {}

Member Function Documentation

CSCWireGrouping* CSCUngangedWireGrouping::clone ( void  ) const
inlinevirtual

Clone to handle correct copy of component objects referenced by base class pointer.

Implements CSCWireGrouping.

Definition at line 60 of file CSCUngangedWireGrouping.h.

References CSCUngangedWireGrouping().

60  {
61  return new CSCUngangedWireGrouping(*this);
62  }
float CSCUngangedWireGrouping::middleWireOfGroup ( int  wireGroup) const
inlinevirtual

Middle of wire-group. This is the central wire no. for a group with an odd no. of wires. This is a pseudo-wire no. for a group with an even no. of wires. Accordingly, it is non-integer. Unganged, wire group is wire is middle!

Implements CSCWireGrouping.

Definition at line 53 of file CSCUngangedWireGrouping.h.

References wireGroup().

53  {
54  return static_cast<float>( wireGroup ); }
int wireGroup(int wire) const
int CSCUngangedWireGrouping::numberOfWireGroups ( ) const
inlinevirtual

How many wire groups. Unganged so #groups = #wires.

Implements CSCWireGrouping.

Definition at line 31 of file CSCUngangedWireGrouping.h.

References numberOfWires().

31  {
32  return numberOfWires(); }
int CSCUngangedWireGrouping::numberOfWires ( ) const
inlinevirtual

Total number of (virtual) wires. Some wires may not be implemented in the hardware. This is the number which would fill the region covered by wires, assuming the constant wire spacing.

Implements CSCWireGrouping.

Definition at line 25 of file CSCUngangedWireGrouping.h.

References theNumberOfWires.

Referenced by numberOfWireGroups().

int CSCUngangedWireGrouping::numberOfWiresPerGroup ( int  wireGroup) const
inlinevirtual

How many wires in a wiregroup. Unganged so 1 wire/group.

Implements CSCWireGrouping.

Definition at line 37 of file CSCUngangedWireGrouping.h.

37  {
38  return 1; }
int CSCUngangedWireGrouping::wireGroup ( int  wire) const
inlinevirtual

Wire group containing a given wire. Unganged means wire group is wire.

Implements CSCWireGrouping.

Definition at line 43 of file CSCUngangedWireGrouping.h.

Referenced by middleWireOfGroup().

43  {
44  return wire; }

Member Data Documentation

int CSCUngangedWireGrouping::theNumberOfWires
private

Definition at line 65 of file CSCUngangedWireGrouping.h.

Referenced by numberOfWires().