CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

GEMEtaPartitionSpecs Class Reference

#include <GEMEtaPartitionSpecs.h>

Inheritance diagram for GEMEtaPartitionSpecs:
GeomDetType

List of all members.

Public Types

typedef std::vector< float > GEMSpecs

Public Member Functions

const std::string & detName () const
 GEMEtaPartitionSpecs (SubDetector rss, const std::string &name, const GEMSpecs &pars)
const TopologypadTopology () const
const StripTopologyspecificPadTopology () const
const StripTopologyspecificTopology () const
const Topologytopology () const
 ~GEMEtaPartitionSpecs ()

Private Attributes

std::string _n
std::vector< float > _p
StripTopology_top
 topology of strips
StripTopology_top_pad
 topology of trigger pads (pad = bundle of strips, basically, a "fat" strip)

Detailed Description

Storage of the parameters of the GEM Chamber using standard topologies

Author:
M. Maggi - INFN Bari

Definition at line 19 of file GEMEtaPartitionSpecs.h.


Member Typedef Documentation

typedef std::vector<float> GEMEtaPartitionSpecs::GEMSpecs

Definition at line 23 of file GEMEtaPartitionSpecs.h.


Constructor & Destructor Documentation

GEMEtaPartitionSpecs::GEMEtaPartitionSpecs ( SubDetector  rss,
const std::string &  name,
const GEMSpecs pars 
)

Definition at line 9 of file GEMEtaPartitionSpecs.cc.

References _p, _top, _top_pad, b, GeomDetEnumerators::GEM, h, gen::npad, and RecoTauPiZeroBuilderPlugins_cfi::strips.

  :  GeomDetType(name, rss), _p(pars), _n(name)
{
  if (rss == GEM )
  {
    float b = _p[0];
    float B = _p[1];
    float h = _p[2];
    float r0 = h*(B + b)/(B - b);
    float striplength = h*2;
    float strips = _p[3];
    float pitch = (b + B)/strips;
    int nstrip =static_cast<int>(strips);
    _top = new TrapezoidalStripTopology(nstrip, pitch, striplength, r0);

    float pads = _p[4];
    float pad_pitch = (b + B)/pads;
    int npad =static_cast<int>(pads);
    _top_pad = new TrapezoidalStripTopology(npad, pad_pitch, striplength, r0);
  } else {
    _top = nullptr;
    _top_pad = nullptr;
  }
}
GEMEtaPartitionSpecs::~GEMEtaPartitionSpecs ( )

Definition at line 35 of file GEMEtaPartitionSpecs.cc.

References _top, and _top_pad.

{
  if (_top) delete _top;
  if (_top_pad) delete _top_pad;
}

Member Function Documentation

const std::string & GEMEtaPartitionSpecs::detName ( ) const

Definition at line 69 of file GEMEtaPartitionSpecs.cc.

References _n.

{
  return _n;
}
const Topology & GEMEtaPartitionSpecs::padTopology ( ) const

Definition at line 56 of file GEMEtaPartitionSpecs.cc.

References _top_pad.

Referenced by GEMEtaPartition::padTopology().

{
  return *_top_pad;
}
const StripTopology & GEMEtaPartitionSpecs::specificPadTopology ( ) const

Definition at line 62 of file GEMEtaPartitionSpecs.cc.

References _top_pad.

Referenced by GEMEtaPartition::specificPadTopology().

{
  return *_top_pad;
}
const StripTopology & GEMEtaPartitionSpecs::specificTopology ( ) const

Definition at line 49 of file GEMEtaPartitionSpecs.cc.

References _top.

Referenced by GEMEtaPartition::specificTopology().

{
  return *_top;
}
const Topology & GEMEtaPartitionSpecs::topology ( ) const [virtual]

Implements GeomDetType.

Definition at line 43 of file GEMEtaPartitionSpecs.cc.

References _top.

Referenced by GEMSimAverage::simulate(), GEMSimTriv::simulate(), and GEMEtaPartition::topology().

{
  return *_top;
}

Member Data Documentation

std::string GEMEtaPartitionSpecs::_n [private]

Definition at line 48 of file GEMEtaPartitionSpecs.h.

Referenced by detName().

std::vector<float> GEMEtaPartitionSpecs::_p [private]

Definition at line 47 of file GEMEtaPartitionSpecs.h.

Referenced by GEMEtaPartitionSpecs().

topology of strips

Definition at line 42 of file GEMEtaPartitionSpecs.h.

Referenced by GEMEtaPartitionSpecs(), specificTopology(), topology(), and ~GEMEtaPartitionSpecs().

topology of trigger pads (pad = bundle of strips, basically, a "fat" strip)

Definition at line 45 of file GEMEtaPartitionSpecs.h.

Referenced by GEMEtaPartitionSpecs(), padTopology(), specificPadTopology(), and ~GEMEtaPartitionSpecs().