CMS 3D CMS Logo

GEMEtaPartitionSpecs.cc
Go to the documentation of this file.
4 
5 using namespace GeomDetEnumerators;
6 
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 pitch = (b + B) / strips;
17  int nstrip = static_cast<int>(strips);
18  _top = new TrapezoidalStripTopology(nstrip, pitch, striplength, r0);
19 
20  float pads = _p[4];
21  float pad_pitch = (b + B) / pads;
22  int npad = static_cast<int>(pads);
23  _top_pad = new TrapezoidalStripTopology(npad, pad_pitch, striplength, r0);
24  } else {
25  _top = nullptr;
26  _top_pad = nullptr;
27  }
28 }
29 
31  if (_top)
32  delete _top;
33  if (_top_pad)
34  delete _top_pad;
35 }
36 
37 const Topology& GEMEtaPartitionSpecs::topology() const { return *_top; }
38 
40 
42 
44 
45 const std::string& GEMEtaPartitionSpecs::detName() const { return _n; }
46 
47 const std::vector<float>& GEMEtaPartitionSpecs::parameters() const { return _p; }
GeomDetEnumerators::SubDetector
SubDetector
Definition: GeomDetEnumerators.h:10
GEMEtaPartitionSpecs::parameters
const GEMSpecs & parameters() const
Definition: GEMEtaPartitionSpecs.cc:47
GeomDetType
Definition: GeomDetType.h:9
GEMEtaPartitionSpecs::padTopology
const Topology & padTopology() const
Definition: GEMEtaPartitionSpecs.cc:41
RectangularStripTopology.h
GEMEtaPartitionSpecs::topology
const Topology & topology() const override
Definition: GEMEtaPartitionSpecs.cc:37
h
TrapezoidalStripTopology
Definition: TrapezoidalStripTopology.h:21
GEMEtaPartitionSpecs::_top_pad
StripTopology * _top_pad
topology of trigger pads (pad = bundle of strips, basically, a "fat" strip)
Definition: GEMEtaPartitionSpecs.h:43
b
double b
Definition: hdecay.h:118
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GEMEtaPartitionSpecs::GEMSpecs
std::vector< float > GEMSpecs
Definition: GEMEtaPartitionSpecs.h:20
GEMEtaPartitionSpecs::_n
std::string _n
Definition: GEMEtaPartitionSpecs.h:46
GEMEtaPartitionSpecs.h
GEMEtaPartitionSpecs::specificPadTopology
const StripTopology & specificPadTopology() const
Definition: GEMEtaPartitionSpecs.cc:43
GEMEtaPartitionSpecs::_p
std::vector< float > _p
Definition: GEMEtaPartitionSpecs.h:45
GEMEtaPartitionSpecs::_top
StripTopology * _top
topology of strips
Definition: GEMEtaPartitionSpecs.h:40
GeomDetEnumerators
Definition: GeomDetEnumerators.h:8
TtFullHadDaughter::B
static const std::string B
Definition: TtFullHadronicEvent.h:9
GEMEtaPartitionSpecs::GEMEtaPartitionSpecs
GEMEtaPartitionSpecs(SubDetector rss, const std::string &name, const GEMSpecs &pars)
Definition: GEMEtaPartitionSpecs.cc:7
TrapezoidalStripTopology.h
GeomDetEnumerators::GEM
Definition: GeomDetEnumerators.h:21
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
GEMEtaPartitionSpecs::specificTopology
const StripTopology & specificTopology() const
Definition: GEMEtaPartitionSpecs.cc:39
GEMEtaPartitionSpecs::~GEMEtaPartitionSpecs
~GEMEtaPartitionSpecs() override
Definition: GEMEtaPartitionSpecs.cc:30
gen::npad
int npad
Definition: Cascade2Hadronizer.cc:73
Topology
Definition: Topology.h:39
StripTopology
Definition: StripTopology.h:11
DigiDM_cff.strips
strips
#turn off noise in all subdetectors simHcalUnsuppressedDigis.doNoise = False mix.digitizers....
Definition: DigiDM_cff.py:32
GEMEtaPartitionSpecs::detName
const std::string & detName() const
Definition: GEMEtaPartitionSpecs.cc:45