ATLAS Offline Software
Loading...
Searching...
No Matches
CMAreadout.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6
8 RPCtrigDataObject(patterns->number(),"CMA readout"),
9 m_CMAconfiguration(patterns->cma_parameters().conf_type()),
11 m_cma_identity(patterns->cma_parameters().id())
12{
13 m_low_pt_matrix = patterns->give_low_pt_matrix(NOBXS, BCZERO);
14 m_high_pt_matrix = patterns->give_high_pt_matrix(NOBXS, BCZERO);
15}
16
17
27
30{
31 static_cast<RPCtrigDataObject&>(*this) =
32 static_cast<const RPCtrigDataObject&>(readout);
34 m_sector = readout.m_sector;
38 return *this;
39}
40
41
42bool
43CMAreadout::operator==(const CMAreadout& cmaReadout) const
44{
45 if( m_sector == cmaReadout.sector() &&
46 m_cma_identity.PAD_index() == cmaReadout.id().PAD_index() &&
47 m_cma_identity.type() == cmaReadout.id().type() &&
48 m_cma_identity.Ixx_index() == cmaReadout.id().Ixx_index() )
49 {
50 return true;
51 }
52 return false;
53}
54
55bool
56CMAreadout::operator!=(const CMAreadout& cmaReadout) const
57{
58 return !(*this == cmaReadout);
59}
60
61bool
62CMAreadout::operator< (const CMAreadout& cmaReadout) const
63{
64 if ( m_sector < cmaReadout.sector() ) return true;
65 if ( m_cma_identity.PAD_index() < cmaReadout.id().PAD_index() )
66 return true;
67 if ( m_cma_identity.type() < cmaReadout.id().type()) return true;
68 if ( m_cma_identity.Ixx_index() < cmaReadout.id().Ixx_index() )
69 return true;
70 return false;
71}
72
73std::array<MatrixReadOut*, 2>
75{
78
80 m_low_pt_matrix_readout = std::make_unique<MatrixReadOut>(m_low_pt_matrix,0,NOBXS,type);
82 m_high_pt_matrix_readout = std::make_unique<MatrixReadOut>(m_high_pt_matrix,0,NOBXS,type);
83
84 unsigned short int lowFrag = m_low_pt_matrix_readout->checkFragment();
85 unsigned short int highFrag = m_high_pt_matrix_readout->checkFragment();
86 if (log.level()<=MSG::DEBUG) {
87 log << MSG::DEBUG << "CheckFragment for low Pt Matrix = " << lowFrag << endmsg;
88 log << MSG::DEBUG << "CheckFragment for high Pt Matrix = " << highFrag << endmsg;
89 }
90
92}
#define endmsg
unsigned int uint
const std::string & name() const
Definition BaseObject.h:23
ViewType type() const
int Ixx_index() const
int PAD_index() const
CMAreadout operator=(const CMAreadout &)
Matrix * m_low_pt_matrix
Definition CMAreadout.h:29
bool operator!=(const CMAreadout &) const
std::unique_ptr< MatrixReadOut > m_high_pt_matrix_readout
Definition CMAreadout.h:31
Matrix * m_high_pt_matrix
Definition CMAreadout.h:30
const CMAidentity & id(void) const
Definition CMAreadout.h:46
bool operator<(const CMAreadout &) const
CMAparameters::CMAconfiguration m_CMAconfiguration
Definition CMAreadout.h:25
std::array< MatrixReadOut *, 2 > give_matrix_readout(MsgStream &log, uint NOBXS)
CMAidentity m_cma_identity
Definition CMAreadout.h:28
int sector(void) const
Definition CMAreadout.h:45
std::unique_ptr< MatrixReadOut > m_low_pt_matrix_readout
Definition CMAreadout.h:31
CMAreadout(CMApatterns *, uint NOBXS, uint BCZERO)
Definition CMAreadout.cxx:7
bool operator==(const CMAreadout &) const
int number(void) const
RPCtrigDataObject(int, const std::string &)
std::vector< std::string > patterns
Definition listroot.cxx:187