CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
Phase2EndcapSubDisk Class Referencefinal

#include <Phase2EndcapSubDisk.h>

Inheritance diagram for Phase2EndcapSubDisk:
RingedForwardLayer

Public Member Functions

const std::vector< const GeomDet * > & basicComponents () const override
 
const std::vector< const GeometricSearchDet * > & components () const override
 
void groupedCompatibleDetsV (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override
 
Phase2EndcapSubDiskoperator= (const Phase2EndcapSubDisk &)=delete
 
 Phase2EndcapSubDisk (std::vector< const Phase2EndcapSingleRing *> &rings)
 
 Phase2EndcapSubDisk (const Phase2EndcapSubDisk &)=delete
 
SubDetector subDetector () const override
 
 ~Phase2EndcapSubDisk () override
 

Private Member Functions

BoundDiskcomputeDisk (const std::vector< const Phase2EndcapSingleRing *> &rings) const
 
float computeWindowSize (const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const
 
void fillRingPars (int i)
 
bool overlapInR (const TrajectoryStateOnSurface &tsos, int i, double ymax, std::vector< tkDetUtil::RingPar > ringParams) const
 

Private Attributes

std::vector< tkDetUtil::RingParringPars
 
std::vector< GeomDet const * > theBasicComps
 
std::atomic< std::vector< const GeometricSearchDet * > * > theComponents
 
std::vector< const Phase2EndcapSingleRing * > theComps
 
int theRingSize
 

Detailed Description

A concrete implementation for Phase 2 Endcap/Forward layer built out of Phase2EndcapSingleRings this class is used for the inner tracker

Definition at line 16 of file Phase2EndcapSubDisk.h.

Constructor & Destructor Documentation

◆ Phase2EndcapSubDisk() [1/2]

Phase2EndcapSubDisk::Phase2EndcapSubDisk ( std::vector< const Phase2EndcapSingleRing *> &  rings)

Definition at line 24 of file Phase2EndcapSubDisk.cc.

25  : RingedForwardLayer(true), theComponents{nullptr} {
26  theRingSize = rings.size();
27  LogDebug("TkDetLayers") << "Number of rings in Phase2EndcapSubDisk is " << theRingSize << std::endl;
28  setSurface(computeDisk(rings));
29 
30  for (unsigned int i = 0; i != rings.size(); ++i) {
31  theComps.push_back(rings[i]);
32  fillRingPars(i);
33  theBasicComps.insert(
34  theBasicComps.end(), (*rings[i]).basicComponents().begin(), (*rings[i]).basicComponents().end());
35  }
36 
37  LogDebug("TkDetLayers") << "==== DEBUG Phase2EndcapSubDisk =====";
38  LogDebug("TkDetLayers") << "r,zed pos , thickness, innerR, outerR: " << this->position().perp() << " , "
39  << this->position().z() << " , " << this->specificSurface().bounds().thickness() << " , "
40  << this->specificSurface().innerRadius() << " , " << this->specificSurface().outerRadius();
41 }
std::atomic< std::vector< const GeometricSearchDet * > * > theComponents
const std::vector< const GeomDet * > & basicComponents() const override
std::vector< const Phase2EndcapSingleRing * > theComps
ForwardDetLayer RingedForwardLayer
std::vector< GeomDet const * > theBasicComps
BoundDisk * computeDisk(const std::vector< const Phase2EndcapSingleRing *> &rings) const
static int position[264][3]
Definition: ReadPGInfo.cc:289
#define LogDebug(id)

◆ ~Phase2EndcapSubDisk()

Phase2EndcapSubDisk::~Phase2EndcapSubDisk ( )
override

Definition at line 47 of file Phase2EndcapSubDisk.cc.

References c, theComponents, and theComps.

47  {
48  for (auto c : theComps)
49  delete c;
50 
51  delete theComponents.load();
52 }
std::atomic< std::vector< const GeometricSearchDet * > * > theComponents
std::vector< const Phase2EndcapSingleRing * > theComps

◆ Phase2EndcapSubDisk() [2/2]

Phase2EndcapSubDisk::Phase2EndcapSubDisk ( const Phase2EndcapSubDisk )
delete

Member Function Documentation

◆ basicComponents()

const std::vector<const GeomDet*>& Phase2EndcapSubDisk::basicComponents ( ) const
inlineoverride

Definition at line 27 of file Phase2EndcapSubDisk.h.

References theBasicComps.

27 { return theBasicComps; }
std::vector< GeomDet const * > theBasicComps

◆ components()

const std::vector< const GeometricSearchDet * > & Phase2EndcapSubDisk::components ( ) const
override

Definition at line 15 of file Phase2EndcapSubDisk.cc.

References Exception.

15  {
16  throw cms::Exception("Phase2EndcapSubDisk::components() is not implemented");
17 }

◆ computeDisk()

BoundDisk * Phase2EndcapSubDisk::computeDisk ( const std::vector< const Phase2EndcapSingleRing *> &  rings) const
private

Definition at line 43 of file Phase2EndcapSubDisk.cc.

References tkDetUtil::computeDisk().

43  {
44  return tkDetUtil::computeDisk(rings);
45 }
BoundDisk * computeDisk(const std::vector< const T *> &structures)
Definition: TkDetUtil.h:236

◆ computeWindowSize()

float Phase2EndcapSubDisk::computeWindowSize ( const GeomDet det,
const TrajectoryStateOnSurface tsos,
const MeasurementEstimator est 
) const
private

Definition at line 62 of file Phase2EndcapSubDisk.cc.

References tkDetUtil::computeYdirWindowSize().

64  {
65  return tkDetUtil::computeYdirWindowSize(det, tsos, est);
66 }
float computeYdirWindowSize(const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est)
Definition: TkDetUtil.cc:71

◆ fillRingPars()

void Phase2EndcapSubDisk::fillRingPars ( int  i)
private

Definition at line 19 of file Phase2EndcapSubDisk.cc.

References tkDetUtil::fillRingParametersFromDisk(), and mps_fire::i.

19  {
20  const BoundDisk& ringDisk = static_cast<const BoundDisk&>(theComps[i]->surface());
22 }
std::vector< const Phase2EndcapSingleRing * > theComps
RingPar fillRingParametersFromDisk(const BoundDisk &ringDisk)
Definition: TkDetUtil.cc:124
std::vector< tkDetUtil::RingPar > ringPars

◆ groupedCompatibleDetsV()

void Phase2EndcapSubDisk::groupedCompatibleDetsV ( const TrajectoryStateOnSurface tsos,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetGroup > &  result 
) const
override

Definition at line 54 of file Phase2EndcapSubDisk.cc.

References tkDetUtil::groupedCompatibleDetsV(), mps_fire::result, ringPars, theComps, and theRingSize.

57  {
59  return;
60 }
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result, const int ringSize, const std::vector< const T *> &diskComponents, const std::vector< RingPar > &ringParams)
Definition: TkDetUtil.h:100
std::vector< const Phase2EndcapSingleRing * > theComps
std::vector< tkDetUtil::RingPar > ringPars

◆ operator=()

Phase2EndcapSubDisk& Phase2EndcapSubDisk::operator= ( const Phase2EndcapSubDisk )
delete

◆ overlapInR()

bool Phase2EndcapSubDisk::overlapInR ( const TrajectoryStateOnSurface tsos,
int  i,
double  ymax,
std::vector< tkDetUtil::RingPar ringParams 
) const
private

Definition at line 68 of file Phase2EndcapSubDisk.cc.

References tkDetUtil::overlapInR(), and L1TOccupancyClient_cfi::ymax.

71  {
72  return tkDetUtil::overlapInR(tsos, index, ymax, ringParams);
73 }
bool overlapInR(const TrajectoryStateOnSurface &tsos, int index, double ymax, const std::vector< RingPar > &ringParams)
Definition: TkDetUtil.cc:112

◆ subDetector()

SubDetector Phase2EndcapSubDisk::subDetector ( ) const
inlineoverride

Member Data Documentation

◆ ringPars

std::vector<tkDetUtil::RingPar> Phase2EndcapSubDisk::ringPars
private

Definition at line 57 of file Phase2EndcapSubDisk.h.

Referenced by groupedCompatibleDetsV().

◆ theBasicComps

std::vector<GeomDet const*> Phase2EndcapSubDisk::theBasicComps
private

Definition at line 54 of file Phase2EndcapSubDisk.h.

Referenced by basicComponents().

◆ theComponents

std::atomic<std::vector<const GeometricSearchDet*>*> Phase2EndcapSubDisk::theComponents
mutableprivate

Definition at line 55 of file Phase2EndcapSubDisk.h.

Referenced by ~Phase2EndcapSubDisk().

◆ theComps

std::vector<const Phase2EndcapSingleRing*> Phase2EndcapSubDisk::theComps
private

Definition at line 56 of file Phase2EndcapSubDisk.h.

Referenced by groupedCompatibleDetsV(), and ~Phase2EndcapSubDisk().

◆ theRingSize

int Phase2EndcapSubDisk::theRingSize
private

Definition at line 58 of file Phase2EndcapSubDisk.h.

Referenced by groupedCompatibleDetsV().