CMS 3D CMS Logo

RPCRollSpecs.cc
Go to the documentation of this file.
4 
5 
6 using namespace GeomDetEnumerators;
7 
8 
10  : GeomDetType(name,rss),_p(pars),_n(name)
11 {
12  if (rss == RPCBarrel ){
13  int nstrip =static_cast<int>( _p[2]);
14  float pitch = _p[0]*2/_p[2];
15  float striplength = _p[1]*2;
16  _top = new RectangularStripTopology(nstrip,pitch,striplength);
17  }else if (rss == RPCEndcap ){
18  float b = _p[0];
19  float B = _p[1];
20  float h = _p[2];
21  float r0 = h*(B+b)/(B-b);
22  float striplength = h*2;
23  float strips = _p[3];
24  float pitch = (b+B)/strips;
25  int nstrip =static_cast<int>(strips);
26 
27  _top = new TrapezoidalStripTopology(nstrip,pitch,striplength,r0);
28  } else {
29  _top = 0;
30  }
31 }
32 
33 
35 {
36  if (_top)
37  delete _top;
38  _top=0;
39 }
40 
41 
42 const Topology&
44 {
45  return *(_top);
46 }
47 
48 const StripTopology&
50 {
51  return *(_top);
52 }
53 
54 
55 const std::string&
57 {
58  return _n;
59 }
std::string _n
Definition: RPCRollSpecs.h:37
double_binary B
Definition: DDStreamer.cc:248
RPCRollSpecs(SubDetector rss, const std::string &name, const RPCSpecs &pars)
Definition: RPCRollSpecs.cc:9
StripTopology * _top
Definition: RPCRollSpecs.h:35
const StripTopology & specificTopology() const
Definition: RPCRollSpecs.cc:49
const std::string & detName() const
Definition: RPCRollSpecs.cc:56
double b
Definition: hdecay.h:120
std::vector< float > RPCSpecs
Definition: RPCRollSpecs.h:22
std::vector< float > _p
Definition: RPCRollSpecs.h:36
const Topology & topology() const
Definition: RPCRollSpecs.cc:43