CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
CSCTriggerContainer< T > Class Template Reference

#include <CSCTriggerContainer.h>

Public Member Functions

void clear ()
 
 CSCTriggerContainer ()
 
 CSCTriggerContainer (const CSCTriggerContainer &cpy)
 
 CSCTriggerContainer (const std::vector< T > &)
 
std::vector< Tget () const
 
std::vector< Tget (const int &BX) const
 
std::vector< Tget (const unsigned &endcap, const unsigned &sector) const
 For objects which span multiple stations. More...
 
std::vector< Tget (const unsigned &endcap, const unsigned &sector, const int &BX) const
 
std::vector< Tget (const unsigned &endcap, const unsigned &station, const unsigned &tsector, const unsigned &tsubsector, const int &BX) const
 
std::vector< Tget (const unsigned &endcap, const unsigned &station, const unsigned &tsector, const unsigned &tsubsector, const unsigned &cscid, const int &BX) const
 
CSCTriggerContaineroperator= (const CSCTriggerContainer &)
 
CSCTriggerContaineroperator= (const std::vector< T > &)
 
void push_back (const T &data)
 
void push_many (const CSCTriggerContainer< T > &data)
 
void push_many (const std::vector< T > &data)
 

Private Attributes

std::vector< T_objs
 

Detailed Description

template<class T>
class CSCTriggerContainer< T >

Author
L. Gray

A container class to make things more manageable for a Trigger Processor. DigiCollections make per-BX processing complicated, this class makes it easier.

Any class T must have the following functions: // inherit from base class! T(const T&) operator= station() sector() subsector() BX()

Definition at line 23 of file CSCTriggerContainer.h.

Constructor & Destructor Documentation

◆ CSCTriggerContainer() [1/3]

template<class T>
CSCTriggerContainer< T >::CSCTriggerContainer ( )
inline

Definition at line 25 of file CSCTriggerContainer.h.

25 {}

◆ CSCTriggerContainer() [2/3]

template<class T>
CSCTriggerContainer< T >::CSCTriggerContainer ( const CSCTriggerContainer< T > &  cpy)
inline

Definition at line 26 of file CSCTriggerContainer.h.

26 { _objs = cpy._objs; }

◆ CSCTriggerContainer() [3/3]

template<class T>
CSCTriggerContainer< T >::CSCTriggerContainer ( const std::vector< T > &  parent)

Definition at line 64 of file CSCTriggerContainer.h.

64  {
65  _objs = parent;
66 }

Member Function Documentation

◆ clear()

template<class T>
void CSCTriggerContainer< T >::clear ( void  )
inline

◆ get() [1/6]

template<class T >
std::vector< T > CSCTriggerContainer< T >::get ( ) const

◆ get() [2/6]

template<class T >
std::vector< T > CSCTriggerContainer< T >::get ( const int &  BX) const

◆ get() [3/6]

template<class T >
std::vector< T > CSCTriggerContainer< T >::get ( const unsigned &  endcap,
const unsigned &  sector 
) const

◆ get() [4/6]

template<class T >
std::vector< T > CSCTriggerContainer< T >::get ( const unsigned &  endcap,
const unsigned &  sector,
const int &  BX 
) const

◆ get() [5/6]

template<class T >
std::vector< T > CSCTriggerContainer< T >::get ( const unsigned &  endcap,
const unsigned &  station,
const unsigned &  tsector,
const unsigned &  tsubsector,
const int &  BX 
) const

◆ get() [6/6]

template<class T >
std::vector< T > CSCTriggerContainer< T >::get ( const unsigned &  endcap,
const unsigned &  station,
const unsigned &  tsector,
const unsigned &  tsubsector,
const unsigned &  cscid,
const int &  BX 
) const

◆ operator=() [1/2]

template<class T >
CSCTriggerContainer< T > & CSCTriggerContainer< T >::operator= ( const CSCTriggerContainer< T > &  rhs)

Definition at line 69 of file CSCTriggerContainer.h.

69  {
70  if (this != &rhs) {
71  _objs = rhs._objs;
72  }
73  return *this;
74 }

◆ operator=() [2/2]

template<class T>
CSCTriggerContainer< T > & CSCTriggerContainer< T >::operator= ( const std::vector< T > &  rhs)

Definition at line 77 of file CSCTriggerContainer.h.

77  {
78  _objs = rhs;
79  return *this;
80 }

◆ push_back()

template<class T>
void CSCTriggerContainer< T >::push_back ( const T data)
inline

◆ push_many() [1/2]

template<class T>
void CSCTriggerContainer< T >::push_many ( const CSCTriggerContainer< T > &  data)
inline

Definition at line 53 of file CSCTriggerContainer.h.

53  {
54  std::vector<T> vec = data.get();
55  _objs.insert(_objs.end(), vec.begin(), vec.end());
56  }

◆ push_many() [2/2]

template<class T>
void CSCTriggerContainer< T >::push_many ( const std::vector< T > &  data)
inline

Definition at line 52 of file CSCTriggerContainer.h.

52 { _objs.insert(_objs.end(), data.begin(), data.end()); }

Referenced by L1TdeCSCTF::analyze(), CSCTFTrackBuilder::buildTracks(), CSCTFTrackProducer::produce(), and CSCTFSectorProcessor::run().

Member Data Documentation

◆ _objs

template<class T>
std::vector<T> CSCTriggerContainer< T >::_objs
private
mps_fire.i
i
Definition: mps_fire.py:428
relativeConstraints.station
station
Definition: relativeConstraints.py:67
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
L1TStage2uGTEmulatorClient_cff.BX
BX
Definition: L1TStage2uGTEmulatorClient_cff.py:9
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
mps_fire.result
result
Definition: mps_fire.py:311
CSCTriggerContainer::_objs
std::vector< T > _objs
Definition: CSCTriggerContainer.h:60
class-composition.parent
parent
Definition: class-composition.py:88