CMS 3D CMS Logo

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

#include <GEMEtaPartitionSpecs.h>

Inheritance diagram for GEMEtaPartitionSpecs:
GeomDetType

Public Types

typedef std::vector< float > GEMSpecs
 
- Public Types inherited from GeomDetType
typedef GeomDetEnumerators::SubDetector SubDetector
 

Public Member Functions

const std::string & detName () const
 
 GEMEtaPartitionSpecs (SubDetector rss, const std::string &name, const GEMSpecs &pars)
 
const TopologypadTopology () const
 
const GEMSpecsparameters () const
 
const StripTopologyspecificPadTopology () const
 
const StripTopologyspecificTopology () const
 
const Topologytopology () const override
 
 ~GEMEtaPartitionSpecs () override
 
- Public Member Functions inherited from GeomDetType
 GeomDetType (const std::string &name, SubDetector subdet)
 
bool isBarrel () const
 
bool isCSC () const
 
bool isDT () const
 
bool isEndcap () const
 
bool isGEM () const
 
bool isInnerTracker () const
 
bool isME0 () const
 
bool isMuon () const
 
bool isOuterTracker () const
 
bool isRPC () const
 
bool isTiming () const
 
bool isTracker () const
 
bool isTrackerPixel () const
 
bool isTrackerStrip () const
 
const std::string & name () const
 
SubDetector subDetector () const
 
virtual ~GeomDetType ()
 

Private Attributes

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

Detailed Description

Storage of the parameters of the GEM Chamber using standard topologies

Author
M. Maggi - INFN Bari

Definition at line 18 of file GEMEtaPartitionSpecs.h.

Member Typedef Documentation

◆ GEMSpecs

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

Definition at line 20 of file GEMEtaPartitionSpecs.h.

Constructor & Destructor Documentation

◆ GEMEtaPartitionSpecs()

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

Definition at line 7 of file GEMEtaPartitionSpecs.cc.

References _p, _top, _top_pad, B, b, RunInfoPI::GEM, h, gen::npad, and DigiDM_cff::strips.

8  : GeomDetType(name, rss), _p(pars), _n(name) {
9  if (rss == GEM) {
10  float b = _p[0];
11  float B = _p[1];
12  float h = _p[2];
13  float r0 = h * (B + b) / (B - b);
14  float striplength = h * 2;
15  float strips = _p[3];
16  float dphi = _p[5];
17  float phiPitch = dphi / strips;
18 
19  int nstrip = static_cast<int>(strips);
20  _top = new GEMStripTopology(nstrip, phiPitch, striplength, r0);
21 
22  float pads = _p[4];
23  float padPhiPitch = dphi / pads;
24 
25  int npad = static_cast<int>(pads);
26  _top_pad = new GEMStripTopology(npad, padPhiPitch, striplength, r0);
27  } else {
28  _top = nullptr;
29  _top_pad = nullptr;
30  }
31 }
Definition: APVGainStruct.h:7
StripTopology * _top_pad
topology of trigger pads (pad = bundle of strips, basically, a "fat" strip)
std::vector< float > _p
const std::string & name() const
Definition: GeomDetType.h:19
GeomDetType(const std::string &name, SubDetector subdet)
Definition: GeomDetType.cc:5
double b
Definition: hdecay.h:120
StripTopology * _top
topology of strips
strips
#turn off noise in all subdetectors simHcalUnsuppressedDigis.doNoise = False mix.digitizers.hcal.doNoise = False simEcalUnsuppressedDigis.doNoise = False mix.digitizers.ecal.doNoise = False simEcalUnsuppressedDigis.doESNoise = False simSiPixelDigis.AddNoise = False mix.digitizers.pixel.AddNoise = False simSiStripDigis.Noise = False mix.digitizers.strip.AddNoise = False
Definition: DigiDM_cff.py:32
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4

◆ ~GEMEtaPartitionSpecs()

GEMEtaPartitionSpecs::~GEMEtaPartitionSpecs ( )
override

Definition at line 33 of file GEMEtaPartitionSpecs.cc.

References _top, and _top_pad.

33  {
34  if (_top)
35  delete _top;
36  if (_top_pad)
37  delete _top_pad;
38 }
StripTopology * _top_pad
topology of trigger pads (pad = bundle of strips, basically, a "fat" strip)
StripTopology * _top
topology of strips

Member Function Documentation

◆ detName()

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

Definition at line 48 of file GEMEtaPartitionSpecs.cc.

References _n.

48 { return _n; }

◆ padTopology()

const Topology & GEMEtaPartitionSpecs::padTopology ( ) const

Definition at line 44 of file GEMEtaPartitionSpecs.cc.

References _top_pad.

Referenced by GEMEtaPartition::padTopology().

44 { return *_top_pad; }
StripTopology * _top_pad
topology of trigger pads (pad = bundle of strips, basically, a "fat" strip)

◆ parameters()

const std::vector< float > & GEMEtaPartitionSpecs::parameters ( void  ) const

Definition at line 50 of file GEMEtaPartitionSpecs.cc.

References _p.

50 { return _p; }
std::vector< float > _p

◆ specificPadTopology()

const StripTopology & GEMEtaPartitionSpecs::specificPadTopology ( ) const

Definition at line 46 of file GEMEtaPartitionSpecs.cc.

References _top_pad.

Referenced by GEMEtaPartition::specificPadTopology().

46 { return *_top_pad; }
StripTopology * _top_pad
topology of trigger pads (pad = bundle of strips, basically, a "fat" strip)

◆ specificTopology()

const StripTopology & GEMEtaPartitionSpecs::specificTopology ( ) const

Definition at line 42 of file GEMEtaPartitionSpecs.cc.

References _top.

Referenced by GEMEtaPartition::specificTopology().

42 { return *_top; }
StripTopology * _top
topology of strips

◆ topology()

const Topology & GEMEtaPartitionSpecs::topology ( ) const
overridevirtual

Implements GeomDetType.

Definition at line 40 of file GEMEtaPartitionSpecs.cc.

References _top.

Referenced by GEMEtaPartition::topology().

40 { return *_top; }
StripTopology * _top
topology of strips

Member Data Documentation

◆ _n

std::string GEMEtaPartitionSpecs::_n
private

Definition at line 46 of file GEMEtaPartitionSpecs.h.

Referenced by detName().

◆ _p

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

Definition at line 45 of file GEMEtaPartitionSpecs.h.

Referenced by GEMEtaPartitionSpecs(), and parameters().

◆ _top

StripTopology* GEMEtaPartitionSpecs::_top
private

topology of strips

Definition at line 40 of file GEMEtaPartitionSpecs.h.

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

◆ _top_pad

StripTopology* GEMEtaPartitionSpecs::_top_pad
private

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

Definition at line 43 of file GEMEtaPartitionSpecs.h.

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