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

◆ ~CSCUngangedWireGrouping()

virtual CSCUngangedWireGrouping::~CSCUngangedWireGrouping ( )
inlinevirtual

Definition at line 15 of file CSCUngangedWireGrouping.h.

15 {}

◆ CSCUngangedWireGrouping()

CSCUngangedWireGrouping::CSCUngangedWireGrouping ( int  nwires)
inlineexplicit

Definition at line 16 of file CSCUngangedWireGrouping.h.

Referenced by clone().

Member Function Documentation

◆ clone()

CSCWireGrouping* CSCUngangedWireGrouping::clone ( void  ) const
inlinevirtual

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

Implements CSCWireGrouping.

Definition at line 54 of file CSCUngangedWireGrouping.h.

References CSCUngangedWireGrouping().

54 { return new CSCUngangedWireGrouping(*this); }

◆ middleWireOfGroup()

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 48 of file CSCUngangedWireGrouping.h.

References wireGroup().

48 { return static_cast<float>(wireGroup); }

◆ numberOfWireGroups()

int CSCUngangedWireGrouping::numberOfWireGroups ( ) const
inlinevirtual

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

Implements CSCWireGrouping.

Definition at line 29 of file CSCUngangedWireGrouping.h.

References numberOfWires().

29 { return numberOfWires(); }

◆ 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 24 of file CSCUngangedWireGrouping.h.

References theNumberOfWires.

Referenced by numberOfWireGroups().

◆ numberOfWiresPerGroup()

int CSCUngangedWireGrouping::numberOfWiresPerGroup ( int  wireGroup) const
inlinevirtual

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

Implements CSCWireGrouping.

Definition at line 34 of file CSCUngangedWireGrouping.h.

34 { return 1; }

◆ wireGroup()

int CSCUngangedWireGrouping::wireGroup ( int  wire) const
inlinevirtual

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

Implements CSCWireGrouping.

Definition at line 39 of file CSCUngangedWireGrouping.h.

References nano_mu_digi_cff::wire.

Referenced by middleWireOfGroup().

39 { return wire; }

Member Data Documentation

◆ theNumberOfWires

int CSCUngangedWireGrouping::theNumberOfWires
private

Definition at line 57 of file CSCUngangedWireGrouping.h.

Referenced by numberOfWires().