ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
SLpatterns Class Reference

#include <SLpatterns.h>

Inheritance diagram for SLpatterns:
Collaboration diagram for SLpatterns:

Public Member Functions

 SLpatterns (int, unsigned long int)
 
 SLpatterns (const SLpatterns &)
 
SLpatterns operator= (const SLpatterns &)
 
bool operator== (const SLpatterns &) const
 
bool operator!= (const SLpatterns &) const
 
bool operator< (const SLpatterns &) const
 
void load_pad_patterns (PADpatterns *)
 
SLpatternsoperator<< (PADpatterns *)
 
int sector (void) const
 
unsigned long int debug (void) const
 
const PADdata::PatternsListpad_patterns (void) const
 
SectorLogicgive_SectorL (const RpcCablingCondData *readCdo, int NOBXS, int BCZERO)
 
void Print (std::ostream &, bool) const
 
void set_number (int)
 
int number (void) const
 
void PrintElement (std::ostream &, std::string, bool) const
 
ObjectType tag () const
 
const std::string & name () const
 

Private Attributes

int m_sector
 
unsigned long int m_debug
 
PADdata::PatternsList m_pad_patterns
 
std::unique_ptr< SectorLogicm_SectorL
 
int m_number
 
ObjectType m_tag
 
std::string m_name
 

Detailed Description

Definition at line 20 of file SLpatterns.h.

Constructor & Destructor Documentation

◆ SLpatterns() [1/2]

SLpatterns::SLpatterns ( int  sector,
unsigned long int  debug 
)

Definition at line 11 of file SLpatterns.cxx.

11  :
12  RPCtrigDataObject(0,"Sector Logic patterns"),m_sector(sector),
13  m_debug(debug)
14 {
15 }

◆ SLpatterns() [2/2]

SLpatterns::SLpatterns ( const SLpatterns sl)

Definition at line 17 of file SLpatterns.cxx.

17  :
18  RPCtrigDataObject(sl.number(),sl.name())
19 {
20  m_sector = sl.sector();
21  m_debug = sl.debug();
23 }

Member Function Documentation

◆ debug()

unsigned long int SLpatterns::debug ( void  ) const
inline

Definition at line 46 of file SLpatterns.h.

46 {return m_debug;}

◆ give_SectorL()

SectorLogic * SLpatterns::give_SectorL ( const RpcCablingCondData readCdo,
int  NOBXS,
int  BCZERO 
)

Definition at line 73 of file SLpatterns.cxx.

74 {
75  if(!m_SectorL)
76  {
77  int subsystem = (m_sector < 32)? 0 : 1;
78  int logic_sector = m_sector%32;
79 
80 
81 
83  bool oldSimulation=false;
84  // M. Corradi 3/3/2010: check if using old cabling
85  if (pad != m_pad_patterns.end()) {
86  oldSimulation=(*pad)->give_pad(readCdo, NOBXS, BCZERO)->isOldSimulation();
87  }
88 
89  m_SectorL = std::make_unique<SectorLogic>(0,0,m_debug,subsystem,logic_sector,oldSimulation, NOBXS, BCZERO);
90 
91  while(pad != m_pad_patterns.end())
92  {
93  Pad* Pad_board = (*pad)->give_pad(readCdo, NOBXS, BCZERO);
94  for (int bunch=0;bunch<NOBXS;++bunch)
95  {
96  m_SectorL->load( (*pad)->pad_id(),
97  bunch,
98  Pad_board->getRoI(bunch),
99  Pad_board->getPTCoding(bunch),
100  Pad_board->getOPL(bunch),
101  Pad_board->getOverlapPhi(bunch),
102  Pad_board->getOverlapEta(bunch),
103  Pad_board->getRoIAmbiguity(bunch),
104  Pad_board->getBCIDCounter(bunch) );
105  }
106 
107  ++pad;
108  }
109 
110  m_SectorL->execute();
111 
112  }
113 
114  return m_SectorL.get();
115 }

◆ load_pad_patterns()

void SLpatterns::load_pad_patterns ( PADpatterns patterns)

Definition at line 59 of file SLpatterns.cxx.

60 {
61  m_pad_patterns.push_back(patterns);
62 }

◆ name()

const std::string& BaseObject::name ( ) const
inlineinherited

Definition at line 23 of file BaseObject.h.

23 { return m_name; }

◆ number()

int RPCtrigDataObject::number ( void  ) const
inlineinherited

Definition at line 29 of file RPCtrigDataObject.h.

29 {return m_number;}

◆ operator!=()

bool SLpatterns::operator!= ( const SLpatterns patterns) const

Definition at line 45 of file SLpatterns.cxx.

46 {
47  return !(*this == patterns);
48 }

◆ operator<()

bool SLpatterns::operator< ( const SLpatterns patterns) const

Definition at line 51 of file SLpatterns.cxx.

53 {
54  if(m_sector < patterns.sector()) return true;
55  return false;
56 }

◆ operator<<()

SLpatterns & SLpatterns::operator<< ( PADpatterns patterns)

Definition at line 65 of file SLpatterns.cxx.

67 {
68  this->load_pad_patterns(patterns);
69  return *this;
70 }

◆ operator=()

SLpatterns SLpatterns::operator= ( const SLpatterns sl)

Definition at line 26 of file SLpatterns.cxx.

27 {
28  static_cast<RPCtrigDataObject&>(*this) =
29  static_cast<const RPCtrigDataObject&>(sl);
30  m_sector = sl.sector();
31  m_debug = sl.debug();
32  m_pad_patterns.clear();
34  return *this;
35 }

◆ operator==()

bool SLpatterns::operator== ( const SLpatterns patterns) const

Definition at line 38 of file SLpatterns.cxx.

39 {
40  if(m_sector == patterns.sector()) return true;
41  return false;
42 }

◆ pad_patterns()

const PADdata::PatternsList& SLpatterns::pad_patterns ( void  ) const
inline

Definition at line 48 of file SLpatterns.h.

49  {return m_pad_patterns;}

◆ Print()

void SLpatterns::Print ( std::ostream &  stream,
bool  detail 
) const
virtual

Reimplemented from RPCtrigDataObject.

Definition at line 118 of file SLpatterns.cxx.

119 {
120  stream << name() << " number "
121  << m_sector << std::endl;
122  stream << "It contains n. " << m_pad_patterns.size()
123  << " PADs";
124 
125  if(detail)
126  {
127  stream << " :" << std::endl;
128  PADdata::PatternsList::const_iterator pad = m_pad_patterns.begin();
129  while (pad != m_pad_patterns.end())
130  {
131  (*pad)->Print(stream,false);
132  ++pad;
133  }
134  }
135  else stream << "." << std::endl;
136 }

◆ PrintElement()

void RPCtrigDataObject::PrintElement ( std::ostream &  ,
std::string  ,
bool   
) const
inlineinherited

Definition at line 31 of file RPCtrigDataObject.h.

31 {}

◆ sector()

int SLpatterns::sector ( void  ) const
inline

Definition at line 44 of file SLpatterns.h.

44 {return m_sector;}

◆ set_number()

void RPCtrigDataObject::set_number ( int  number)
inherited

Definition at line 42 of file RPCtrigDataObject.cxx.

43 {
44  m_number = number;
45 }

◆ tag()

ObjectType BaseObject::tag ( ) const
inlineinherited

Definition at line 22 of file BaseObject.h.

22 { return m_tag; }

Member Data Documentation

◆ m_debug

unsigned long int SLpatterns::m_debug
private

Definition at line 24 of file SLpatterns.h.

◆ m_name

std::string BaseObject::m_name
privateinherited

Definition at line 16 of file BaseObject.h.

◆ m_number

int RPCtrigDataObject::m_number
privateinherited

Definition at line 17 of file RPCtrigDataObject.h.

◆ m_pad_patterns

PADdata::PatternsList SLpatterns::m_pad_patterns
private

Definition at line 26 of file SLpatterns.h.

◆ m_sector

int SLpatterns::m_sector
private

Definition at line 23 of file SLpatterns.h.

◆ m_SectorL

std::unique_ptr<SectorLogic> SLpatterns::m_SectorL
private

Definition at line 28 of file SLpatterns.h.

◆ m_tag

ObjectType BaseObject::m_tag
privateinherited

Definition at line 15 of file BaseObject.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
RPCtrigDataObject::m_number
int m_number
Definition: RPCtrigDataObject.h:17
RPCtrigDataObject::RPCtrigDataObject
RPCtrigDataObject(int, const std::string &)
Definition: RPCtrigDataObject.cxx:10
Pad::getOverlapEta
ubit16 getOverlapEta(ubit16 bunch)
Definition: Pad.cxx:440
BaseObject::name
const std::string & name() const
Definition: BaseObject.h:23
SLpatterns::load_pad_patterns
void load_pad_patterns(PADpatterns *)
Definition: SLpatterns.cxx:59
BaseObject::m_name
std::string m_name
Definition: BaseObject.h:16
patterns
std::vector< std::string > patterns
Definition: listroot.cxx:187
SLpatterns::pad_patterns
const PADdata::PatternsList & pad_patterns(void) const
Definition: SLpatterns.h:48
SLpatterns::m_pad_patterns
PADdata::PatternsList m_pad_patterns
Definition: SLpatterns.h:26
detail
Definition: extract_histogram_tag.cxx:14
SLpatterns::m_sector
int m_sector
Definition: SLpatterns.h:23
SLpatterns::m_debug
unsigned long int m_debug
Definition: SLpatterns.h:24
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
Pad::getPTCoding
ubit16 getPTCoding(ubit16 bunch)
Definition: Pad.cxx:410
Pad::getRoIAmbiguity
ubit16 getRoIAmbiguity(ubit16 bunch)
Definition: Pad.cxx:450
Pad::getOverlapPhi
ubit16 getOverlapPhi(ubit16 bunch)
Definition: Pad.cxx:430
Pad::getBCIDCounter
ubit16 getBCIDCounter(ubit16 bunch)
Definition: Pad.cxx:460
SLpatterns::debug
unsigned long int debug(void) const
Definition: SLpatterns.h:46
RPCtrigDataObject
Definition: RPCtrigDataObject.h:15
RPCtrigDataObject::number
int number(void) const
Definition: RPCtrigDataObject.h:29
BaseObject::m_tag
ObjectType m_tag
Definition: BaseObject.h:15
Pad
Definition: Pad.h:10
L1TopoSimulationConfig.subsystem
subsystem
Definition: L1TopoSimulationConfig.py:263
SLpatterns::sector
int sector(void) const
Definition: SLpatterns.h:44
SLpatterns::m_SectorL
std::unique_ptr< SectorLogic > m_SectorL
Definition: SLpatterns.h:28
Pad::getRoI
ubit16 getRoI(ubit16 bunch)
Definition: Pad.cxx:400
Pad::getOPL
ubit16 getOPL(ubit16 bunch)
Definition: Pad.cxx:420