ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_StrawStatusSummaryTool Class Reference

#include <TRT_StrawStatusSummaryTool.h>

Inheritance diagram for TRT_StrawStatusSummaryTool:
Collaboration diagram for TRT_StrawStatusSummaryTool:

Public Types

typedef TRTCond::StrawStatusMultChanContainer StrawStatusContainer

Public Member Functions

 TRT_StrawStatusSummaryTool (const std::string &type, const std::string &name, const IInterface *parent)
 constructor
virtual ~TRT_StrawStatusSummaryTool ()=default
 destructor
virtual StatusCode initialize () override
 tool initialize
virtual StatusCode finalize () override
 tool finalize
virtual const StrawStatusContainergetStrawStatusHTContainer () const override
virtual int getStatus (Identifier offlineId, const EventContext &) const override
virtual int getStatusPermanent (Identifier offlineId, const EventContext &) const override
virtual int getStatusHT (Identifier offlineId, const EventContext &) const override
virtual bool get_status (Identifier offlineId, const EventContext &) const override
virtual bool get_statusHT (Identifier offlineId, const EventContext &) const override

Private Attributes

const TRT_IDm_trtId =nullptr
ServiceHandle< ICondSvc > m_condSvc
SG::ReadCondHandleKey< StrawStatusContainerm_statReadKey {this,"StatReadKeyName","/TRT/Cond/Status","StrawStatus in-key"}
SG::ReadCondHandleKey< StrawStatusContainerm_permReadKey {this,"PermReadKeyName","/TRT/Cond/StatusPermanent","StrawStatusPermanent in-key"}
SG::ReadCondHandleKey< StrawStatusContainerm_statHTReadKey {this,"StatHTReadKeyName","/TRT/Cond/StatusHT","StrawStatusHT in-key"}
Gaudi::Property< bool > m_isGEANT4 {this,"isGEANT4",true}
Gaudi::Property< std::string > m_par_strawstatusHTcontainerkey {this, "SimStatusHTKey","/TRT/Cond/StatusHT"}

Detailed Description

Definition at line 29 of file TRT_StrawStatusSummaryTool.h.

Member Typedef Documentation

◆ StrawStatusContainer

Constructor & Destructor Documentation

◆ TRT_StrawStatusSummaryTool()

TRT_StrawStatusSummaryTool::TRT_StrawStatusSummaryTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

constructor

Definition at line 15 of file TRT_StrawStatusSummaryTool.cxx.

16 : base_class(type, name, parent),
17 m_condSvc("CondSvc",name) {}
ServiceHandle< ICondSvc > m_condSvc

◆ ~TRT_StrawStatusSummaryTool()

virtual TRT_StrawStatusSummaryTool::~TRT_StrawStatusSummaryTool ( )
virtualdefault

destructor

Member Function Documentation

◆ finalize()

StatusCode TRT_StrawStatusSummaryTool::finalize ( )
overridevirtual

tool finalize

Definition at line 44 of file TRT_StrawStatusSummaryTool.cxx.

45{
46 return StatusCode::SUCCESS;
47}

◆ get_status()

bool TRT_StrawStatusSummaryTool::get_status ( Identifier offlineId,
const EventContext & ctx ) const
overridevirtual

Definition at line 121 of file TRT_StrawStatusSummaryTool.cxx.

121 {
122 constexpr unsigned int statusbitmask = 1 << 8;// 0000001 00000000
123 const int status=getStatus(offlineID,ctx);
124 const int statusperm=getStatusPermanent(offlineID,ctx);
125 ATH_MSG_VERBOSE("offlineID "<<offlineID<<" "<<status <<" "<< statusperm);
126
127 bool st = false, stperm=false;
128
129 if (status==1) st = true;
130 else if (status==0) st = false;
131 else {st = bool( (status & statusbitmask) >> 8);};
132
133 if (statusperm==1) stperm = true;
134 else if (statusperm==0) stperm = false;
135 else {stperm = bool( (statusperm & statusbitmask) >> 8);};
136
137 return (st||stperm);
138
139}
#define ATH_MSG_VERBOSE(x)
virtual int getStatus(Identifier offlineId, const EventContext &) const override
virtual int getStatusPermanent(Identifier offlineId, const EventContext &) const override
status
Definition merge.py:16
setBGCode setTAP setLVL2ErrorBits bool

◆ get_statusHT()

bool TRT_StrawStatusSummaryTool::get_statusHT ( Identifier offlineId,
const EventContext & ctx ) const
overridevirtual

Definition at line 143 of file TRT_StrawStatusSummaryTool.cxx.

143 {
144 constexpr unsigned int statusbitmask = 1 << 8;// 0000001 00000000
145 bool stHT=false;
146 const int statusHT=getStatusHT(offlineID,ctx);
147
148 if (statusHT==1) stHT = true;
149 else if (statusHT==0) stHT = false;
150 else {stHT = bool( (statusHT & statusbitmask) >> 8);};
151
152 return ( stHT );
153
154}
virtual int getStatusHT(Identifier offlineId, const EventContext &) const override

◆ getStatus()

int TRT_StrawStatusSummaryTool::getStatus ( Identifier offlineId,
const EventContext & ctx ) const
overridevirtual

Definition at line 50 of file TRT_StrawStatusSummaryTool.cxx.

50 {
52 TRTCond::ExpandedIdentifier id= TRTCond::ExpandedIdentifier( m_trtId->barrel_ec(offlineID),m_trtId->layer_or_wheel(offlineID),
53 m_trtId->phi_module(offlineID),m_trtId->straw_layer(offlineID),
54 m_trtId->straw(offlineID),level );
55
56 SG::ReadCondHandle<StrawStatusContainer> rst(m_statReadKey,ctx);
57 const StrawStatusContainer* strawstatuscontainer(*rst);
58
59 return int((*strawstatuscontainer).get(id).getstatus());
60}
SG::ReadCondHandleKey< StrawStatusContainer > m_statReadKey
TRTCond::StrawStatusMultChanContainer StrawStatusContainer

◆ getStatusHT()

int TRT_StrawStatusSummaryTool::getStatusHT ( Identifier offlineId,
const EventContext & ctx ) const
overridevirtual

Definition at line 78 of file TRT_StrawStatusSummaryTool.cxx.

78 {
79
81 TRTCond::ExpandedIdentifier id= TRTCond::ExpandedIdentifier( m_trtId->barrel_ec(offlineID),m_trtId->layer_or_wheel(offlineID),
82 m_trtId->phi_module(offlineID),m_trtId->straw_layer(offlineID),
83 m_trtId->straw(offlineID),level );
84
85 const StrawStatusContainer* strawstatusHTcontainer = nullptr;
86 if(m_isGEANT4) {
87 if ( StatusCode::SUCCESS!=detStore()->retrieve( strawstatusHTcontainer, m_par_strawstatusHTcontainerkey ) ) {
88 ATH_MSG_FATAL( "Could not retrieve folder " << m_par_strawstatusHTcontainerkey );
89 return 0;
90 }
91 }
92 else {
93 SG::ReadCondHandle<StrawStatusContainer> rht(m_statHTReadKey,ctx);
94 strawstatusHTcontainer=(*rht);
95 }
96
97 return int((*strawstatusHTcontainer).get(id).getstatus());
98}
#define ATH_MSG_FATAL(x)
SG::ReadCondHandleKey< StrawStatusContainer > m_statHTReadKey
Gaudi::Property< std::string > m_par_strawstatusHTcontainerkey
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ getStatusPermanent()

int TRT_StrawStatusSummaryTool::getStatusPermanent ( Identifier offlineId,
const EventContext & ctx ) const
overridevirtual

Definition at line 64 of file TRT_StrawStatusSummaryTool.cxx.

64 {
66 TRTCond::ExpandedIdentifier id= TRTCond::ExpandedIdentifier( m_trtId->barrel_ec(offlineID),m_trtId->layer_or_wheel(offlineID),
67 m_trtId->phi_module(offlineID),m_trtId->straw_layer(offlineID),
68 m_trtId->straw(offlineID),level );
69
70 SG::ReadCondHandle<StrawStatusContainer> rp(m_permReadKey,ctx);
71 const StrawStatusContainer* strawstatuspermanentcontainer=(*rp);
72
73 return int((*strawstatuspermanentcontainer).get(id).getstatus());
74}
ReadCards * rp
SG::ReadCondHandleKey< StrawStatusContainer > m_permReadKey

◆ getStrawStatusHTContainer()

const TRTCond::StrawStatusMultChanContainer * TRT_StrawStatusSummaryTool::getStrawStatusHTContainer ( ) const
overridevirtual

Definition at line 100 of file TRT_StrawStatusSummaryTool.cxx.

100 {
101
102 const StrawStatusContainer* strawstatusHTcontainer = nullptr;
103 if(m_isGEANT4) {
104 // processing GEANT4 simulation - revert to old non-MT style cond access
105 if ( StatusCode::SUCCESS!=detStore()->retrieve( strawstatusHTcontainer, m_par_strawstatusHTcontainerkey ) ) {
106 ATH_MSG_WARNING( "Could not retrieve folder " << m_par_strawstatusHTcontainerkey );
107 }
108 }
109 else {
110 SG::ReadCondHandle<StrawStatusContainer> rht(m_statHTReadKey,Gaudi::Hive::currentContext());
111 strawstatusHTcontainer=(*rht);
112 }
113
114 return strawstatusHTcontainer;
115}
#define ATH_MSG_WARNING(x)

◆ initialize()

StatusCode TRT_StrawStatusSummaryTool::initialize ( )
overridevirtual

tool initialize

Definition at line 20 of file TRT_StrawStatusSummaryTool.cxx.

21{
22 ATH_MSG_DEBUG("TRT_StrawStatusSummaryTool initialize method called");
23
24 // Get the TRT ID helper
25 if (StatusCode::SUCCESS!=detStore()->retrieve(m_trtId,"TRT_ID")) {
26 ATH_MSG_FATAL("Problem retrieving TRTID helper");
27 return StatusCode::FAILURE;
28 }
29
30 // Read keys in case of normal reconstruction/digitization
31 ATH_CHECK( m_statReadKey.initialize() );
32 ATH_CHECK( m_permReadKey.initialize() );
33
34 // Only require this input if not using G4 sim
35 ATH_CHECK( m_statHTReadKey.initialize( !m_isGEANT4 ) );
36
37 ATH_MSG_DEBUG("TRT_StrawStatusSummaryTool initialized successfully ");
38 return StatusCode::SUCCESS;
39}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x)

Member Data Documentation

◆ m_condSvc

ServiceHandle<ICondSvc> TRT_StrawStatusSummaryTool::m_condSvc
private

Definition at line 60 of file TRT_StrawStatusSummaryTool.h.

◆ m_isGEANT4

Gaudi::Property<bool> TRT_StrawStatusSummaryTool::m_isGEANT4 {this,"isGEANT4",true}
private

Definition at line 67 of file TRT_StrawStatusSummaryTool.h.

67{this,"isGEANT4",true};

◆ m_par_strawstatusHTcontainerkey

Gaudi::Property<std::string> TRT_StrawStatusSummaryTool::m_par_strawstatusHTcontainerkey {this, "SimStatusHTKey","/TRT/Cond/StatusHT"}
private

Definition at line 68 of file TRT_StrawStatusSummaryTool.h.

68{this, "SimStatusHTKey","/TRT/Cond/StatusHT"};

◆ m_permReadKey

SG::ReadCondHandleKey<StrawStatusContainer> TRT_StrawStatusSummaryTool::m_permReadKey {this,"PermReadKeyName","/TRT/Cond/StatusPermanent","StrawStatusPermanent in-key"}
private

Definition at line 63 of file TRT_StrawStatusSummaryTool.h.

63{this,"PermReadKeyName","/TRT/Cond/StatusPermanent","StrawStatusPermanent in-key"};

◆ m_statHTReadKey

SG::ReadCondHandleKey<StrawStatusContainer> TRT_StrawStatusSummaryTool::m_statHTReadKey {this,"StatHTReadKeyName","/TRT/Cond/StatusHT","StrawStatusHT in-key"}
private

Definition at line 64 of file TRT_StrawStatusSummaryTool.h.

64{this,"StatHTReadKeyName","/TRT/Cond/StatusHT","StrawStatusHT in-key"};

◆ m_statReadKey

SG::ReadCondHandleKey<StrawStatusContainer> TRT_StrawStatusSummaryTool::m_statReadKey {this,"StatReadKeyName","/TRT/Cond/Status","StrawStatus in-key"}
private

Definition at line 62 of file TRT_StrawStatusSummaryTool.h.

62{this,"StatReadKeyName","/TRT/Cond/Status","StrawStatus in-key"};

◆ m_trtId

const TRT_ID* TRT_StrawStatusSummaryTool::m_trtId =nullptr
private

Definition at line 58 of file TRT_StrawStatusSummaryTool.h.


The documentation for this class was generated from the following files: