ATLAS Offline Software
Public Member Functions | Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
GetDetectorLocalFrames Class Reference

#include <GetDetectorLocalFrames.h>

Inheritance diagram for GetDetectorLocalFrames:
Collaboration diagram for GetDetectorLocalFrames:

Public Member Functions

 GetDetectorLocalFrames (const std::string &name, ISvcLocator *pSvcLocator)
 Authors: John Alison johnd.nosp@m.a@he.nosp@m.p.upe.nosp@m.nn.e.nosp@m.du More...
 
StatusCode initialize ()
 initialize More...
 
StatusCode execute ()
 execute More...
 
StatusCode finalize ()
 Finalize. More...
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Public Attributes

 job = AlgSequence()
 
 name
 
 OutputLevel
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

void writePixelFames ()
 Functions to write the data. More...
 
void writeSCTFrames ()
 Writing the SCT Positions. More...
 
void writeTRTFrames ()
 Writing the Detailed (all straws) TRT Positions. More...
 
void writeTransForm (const HepGeom::Transform3D &transform)
 
void writeVector (const std::string &name, const Amg::Vector3D &vector)
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

std::string m_outputFileName
 Name of the Output file. More...
 
std::ofstream m_outputFile
 
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollectionm_pixelDetEleCollKey {this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"}
 Pixel Data. More...
 
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollectionm_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}
 SCT Data. More...
 
int m_trt_barrel_ec
 TRT Data. More...
 
int m_trt_layer_or_wheel
 
int m_trt_phi_module
 
int m_trt_straw_layer
 
int m_trt_straw
 
const TRT_IDm_TRTHelper
 Tools. More...
 
const InDetDD::TRT_DetectorManagerm_TRTDetectorManager
 
int m_eventCount {-1}
 Counter. More...
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 36 of file GetDetectorLocalFrames.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ GetDetectorLocalFrames()

GetDetectorLocalFrames::GetDetectorLocalFrames ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Authors: John Alison johnd.nosp@m.a@he.nosp@m.p.upe.nosp@m.nn.e.nosp@m.du

Date: 22 Aug 2008

Description: This algorithm loops over the Inner Detector elements and prints thier global positions to a text file Constructor Pixel Variables SCT variables TRT variables ID Tools

Definition at line 37 of file GetDetectorLocalFrames.cxx.

37  :
38  AthAlgorithm(name, pSvcLocator),
39  m_outputFileName("IDLocalFrames.txt"),
40 
46  m_trt_barrel_ec(0),
50  m_trt_straw(0),
51 
53  m_TRTHelper(nullptr),
54  m_TRTDetectorManager(nullptr)
55 
56 {
57  declareProperty("OutputTextFile",m_outputFileName);
58 }

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode GetDetectorLocalFrames::execute ( )

execute

run only for one event

Definition at line 89 of file GetDetectorLocalFrames.cxx.

89  {
90 
91  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "execute() check global position" << endmsg;
92 
93  StatusCode sc = StatusCode::SUCCESS;
94  m_eventCount++;
95 
97  if (m_eventCount!=0)
98  return sc;
99 
100  std::cout << "========================================================================================" <<std::endl;
101  std::cout << "==================== Getting the Inner Detector Local Frames ===========================" <<std::endl;
102  std::cout << "========================================================================================" <<std::endl;
103 
104  //Write pixel positions
105  writePixelFames();
106 
107  //Write SCT positions
108  writeSCTFrames();
109 
110  //Write SCT positions
111  writeTRTFrames();
112 
113  return StatusCode::SUCCESS;
114 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ finalize()

StatusCode GetDetectorLocalFrames::finalize ( )

Finalize.

Close the file

Definition at line 117 of file GetDetectorLocalFrames.cxx.

117  {
118  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "finalize()" << endmsg;
119 
121  m_outputFile.close();
122 
123  return StatusCode::SUCCESS;
124 }

◆ initialize()

StatusCode GetDetectorLocalFrames::initialize ( )

initialize

Retrive TRT info

Retrive SCT info

Retrive Pixel info

Output text File

Definition at line 61 of file GetDetectorLocalFrames.cxx.

61  {
62  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "initialize()" << endmsg;
63 
65  if (detStore()->retrieve(m_TRTHelper, "TRT_ID").isFailure()) {
66  msg(MSG::FATAL) << "Could not get TRT ID helper" << endmsg;
67  return StatusCode::FAILURE;
68  }
69  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "got the TRT ID" << endmsg;
70 
71  if ((detStore()->retrieve(m_TRTDetectorManager)).isFailure()) {
72  if(msgLvl(MSG::FATAL)) msg(MSG::FATAL) << "Problem retrieving TRT_DetectorManager" << endmsg;
73  return StatusCode::FAILURE;
74  }
75 
78 
81 
83  m_outputFile.open((m_outputFileName).c_str());
84 
85  return StatusCode::SUCCESS;
86 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg() [1/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

◆ writePixelFames()

void GetDetectorLocalFrames::writePixelFames ( )
private

Functions to write the data.

Writing the Pixel Positions.

Definition at line 127 of file GetDetectorLocalFrames.cxx.

127  {
128  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "In writePixelFames()" << endmsg;
129 
131  const InDetDD::SiDetectorElementCollection* elements{*pixelDetEleHandle};
132  if (not pixelDetEleHandle.isValid() or elements==nullptr) {
133  ATH_MSG_ERROR(m_pixelDetEleCollKey.fullKey() << " is not available.");
134  return;
135  }
136  //Loop over pixel elements
137  // for (const InDetDD::SiDetectorElement* element: *elements) {
138  // Get local Frame
139  // }
140 
141  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "Leaving writePixelFames()" << endmsg;
142  return;
143 }

◆ writeSCTFrames()

void GetDetectorLocalFrames::writeSCTFrames ( )
private

Writing the SCT Positions.

Definition at line 146 of file GetDetectorLocalFrames.cxx.

146  {
147  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "In writeSCTFrames()" << endmsg;
148 
150  const InDetDD::SiDetectorElementCollection* elements{*sctDetEleHandle};
151  if (not sctDetEleHandle.isValid() or elements==nullptr) {
152  ATH_MSG_ERROR(m_SCTDetEleCollKey.fullKey() << " is not available.");
153  return;
154  }
155  //Loop over SCT elements
156  // for (const InDetDD::SiDetectorElement* element: *elements) {
157  // Get local Frame
158  // }
159 
160  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "Leaving writeSCTFrames()" << endmsg;
161  return;
162 }

◆ writeTransForm()

void GetDetectorLocalFrames::writeTransForm ( const HepGeom::Transform3D &  transform)
private

Definition at line 231 of file GetDetectorLocalFrames.cxx.

231  {
232  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "In writeTransForm()" << endmsg;
233 
234  m_outputFile << " Trans(x,y,z): " << transform.dx() << " " << transform.dy() << " " << transform.dz() << std::endl;
235  m_outputFile << " Rotation Matrix " << std::endl;
236  m_outputFile << transform.xx() << " " << transform.xy() << " " << transform.xz() << std::endl;
237  m_outputFile << transform.yx() << " " << transform.yy() << " " << transform.yz() << std::endl;
238  m_outputFile << transform.zx() << " " << transform.zy() << " " << transform.zz() << std::endl;
239 
240  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "Leaving writeTransForm()" << endmsg;
241  return;
242 }

◆ writeTRTFrames()

void GetDetectorLocalFrames::writeTRTFrames ( )
private

Writing the Detailed (all straws) TRT Positions.

Definition at line 165 of file GetDetectorLocalFrames.cxx.

165  {
166  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "In writeTRTFrames()" << endmsg;
167 
170 
171  for (; trtStrawIt != trtStrawItE; ++trtStrawIt) {
172  const ExpandedIdentifier& expId = (*trtStrawIt);
173 
174  Identifier trtId = m_TRTHelper->straw_id(expId[2],
175  expId[3],
176  expId[4],
177  expId[5],
178  expId[6]);
179 
184  m_trt_straw = m_TRTHelper->straw(trtId);
185 
186  m_outputFile << 3 << " "
187  << m_trt_barrel_ec << " "
188  << m_trt_layer_or_wheel << " "
189  << m_trt_phi_module << " "
190  << m_trt_straw_layer << " "
191  << m_trt_straw << " ";
192  m_outputFile << std::endl;
193 
194  //const HepGeom::Transform3D& localTransform = m_TRTDetectorManager->getElement( trtId )->transform(trtId);
195  Amg::Vector3D xaxis(1,0,0);
196  Amg::Vector3D yaxis(0,1,0);
197  Amg::Vector3D zaxis(0,0,1);
201 
202  const Amg::Vector3D strawXAxis_NoSign = m_TRTDetectorManager->getElement( trtId )->strawTransform(m_trt_straw) * xaxis;
203  const Amg::Vector3D strawYAxis_NoSign = m_TRTDetectorManager->getElement( trtId )->strawTransform(m_trt_straw) * yaxis;
204  const Amg::Vector3D strawZAxis_NoSign = m_TRTDetectorManager->getElement( trtId )->strawTransform(m_trt_straw) * zaxis;
205  //const HepGeom::Vector3D<double> theStrawAxis = m_TRTDetectorManager->getElement( trtId )->strawAxis(m_trt_straw);
206 
207  //writeTransForm(localTransform);
208  writeVector("straw x-axis",strawXAxis);
209  writeVector("straw y-axis",strawYAxis);
210  writeVector("straw z-axis",strawZAxis);
211  m_outputFile << std::endl;
212  writeVector("straw x-axis (No sign)",strawXAxis_NoSign);
213  writeVector("straw y-axis (No sign)",strawYAxis_NoSign);
214  writeVector("straw z-axis (No sign)",strawZAxis_NoSign);
215  m_outputFile << std::endl;
216  }
217 
218  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "Leaving writeTRTFrames()" << endmsg;
219  return;
220 }

◆ writeVector()

void GetDetectorLocalFrames::writeVector ( const std::string &  name,
const Amg::Vector3D vector 
)
private

Definition at line 222 of file GetDetectorLocalFrames.cxx.

222  {
223  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "In writeVector()" << endmsg;
224 
225  m_outputFile << name << " " << vector.x() << " " << vector.y() << " " << vector.z() << std::endl;
226 
227  if (msgLvl(MSG::VERBOSE)) msg(MSG::VERBOSE) << "Leaving writeVector()" << endmsg;
228  return;
229 }

Member Data Documentation

◆ job

GetDetectorLocalFrames.job = AlgSequence()

Definition at line 7 of file GetDetectorLocalFrames.py.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_eventCount

int GetDetectorLocalFrames::m_eventCount {-1}
private

Counter.

Definition at line 75 of file GetDetectorLocalFrames.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_outputFile

std::ofstream GetDetectorLocalFrames::m_outputFile
private

Definition at line 55 of file GetDetectorLocalFrames.h.

◆ m_outputFileName

std::string GetDetectorLocalFrames::m_outputFileName
private

Name of the Output file.

Definition at line 54 of file GetDetectorLocalFrames.h.

◆ m_pixelDetEleCollKey

SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> GetDetectorLocalFrames::m_pixelDetEleCollKey {this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"}
private

Pixel Data.

Definition at line 58 of file GetDetectorLocalFrames.h.

◆ m_SCTDetEleCollKey

SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> GetDetectorLocalFrames::m_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}
private

SCT Data.

Definition at line 61 of file GetDetectorLocalFrames.h.

◆ m_trt_barrel_ec

int GetDetectorLocalFrames::m_trt_barrel_ec
private

TRT Data.

Definition at line 64 of file GetDetectorLocalFrames.h.

◆ m_trt_layer_or_wheel

int GetDetectorLocalFrames::m_trt_layer_or_wheel
private

Definition at line 65 of file GetDetectorLocalFrames.h.

◆ m_trt_phi_module

int GetDetectorLocalFrames::m_trt_phi_module
private

Definition at line 66 of file GetDetectorLocalFrames.h.

◆ m_trt_straw

int GetDetectorLocalFrames::m_trt_straw
private

Definition at line 68 of file GetDetectorLocalFrames.h.

◆ m_trt_straw_layer

int GetDetectorLocalFrames::m_trt_straw_layer
private

Definition at line 67 of file GetDetectorLocalFrames.h.

◆ m_TRTDetectorManager

const InDetDD::TRT_DetectorManager* GetDetectorLocalFrames::m_TRTDetectorManager
private

Definition at line 72 of file GetDetectorLocalFrames.h.

◆ m_TRTHelper

const TRT_ID* GetDetectorLocalFrames::m_TRTHelper
private

Tools.

Definition at line 71 of file GetDetectorLocalFrames.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ name

GetDetectorLocalFrames.name

Definition at line 11 of file GetDetectorLocalFrames.py.

◆ OutputLevel

GetDetectorLocalFrames.OutputLevel

Definition at line 16 of file GetDetectorLocalFrames.py.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
InDetDD::TRT_BaseElement::strawDirection
virtual int strawDirection() const =0
StrawDirection.
InDetDD::SiDetectorElementCollection
Definition: SiDetectorElementCollection.h:30
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
GetDetectorLocalFrames::m_pixelDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
Pixel Data.
Definition: GetDetectorLocalFrames.h:58
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
ExpandedIdentifier
Definition: DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h:102
AthCommonMsg< Algorithm >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
GetDetectorLocalFrames::writeSCTFrames
void writeSCTFrames()
Writing the SCT Positions.
Definition: GetDetectorLocalFrames.cxx:146
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
GetDetectorLocalFrames.name
name
Definition: GetDetectorLocalFrames.py:11
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
GetDetectorLocalFrames::m_trt_layer_or_wheel
int m_trt_layer_or_wheel
Definition: GetDetectorLocalFrames.h:65
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
GetDetectorLocalFrames::m_trt_phi_module
int m_trt_phi_module
Definition: GetDetectorLocalFrames.h:66
TRT_ID::straw
int straw(const Identifier &id) const
Definition: TRT_ID.h:902
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
GetDetectorLocalFrames::m_trt_straw
int m_trt_straw
Definition: GetDetectorLocalFrames.h:68
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
MultiRange::const_identifier_factory
Definition: MultiRange.h:52
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
GetDetectorLocalFrames::m_trt_barrel_ec
int m_trt_barrel_ec
TRT Data.
Definition: GetDetectorLocalFrames.h:64
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
GetDetectorLocalFrames::m_outputFileName
std::string m_outputFileName
Name of the Output file.
Definition: GetDetectorLocalFrames.h:54
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
TRT_ID::barrel_ec
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition: TRT_ID.h:866
TRT_ID::straw_layer
int straw_layer(const Identifier &id) const
Definition: TRT_ID.h:893
TRT_ID::layer_or_wheel
int layer_or_wheel(const Identifier &id) const
Definition: TRT_ID.h:884
GetDetectorLocalFrames::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
SCT Data.
Definition: GetDetectorLocalFrames.h:61
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
GetDetectorLocalFrames::m_TRTHelper
const TRT_ID * m_TRTHelper
Tools.
Definition: GetDetectorLocalFrames.h:71
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
InDetDD::TRT_DetectorManager::getElement
const TRT_BaseElement * getElement(Identifier id) const
Access Elements Generically---------------------------------------------—.
Definition: TRT_DetectorManager.cxx:148
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
TRT_ID::straw_end
const_expanded_id_iterator straw_end(void) const
Definition: TRT_ID.h:977
TRT_ID::phi_module
int phi_module(const Identifier &id) const
Definition: TRT_ID.h:875
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
InDetDD::TRT_BaseElement::strawTransform
const Amg::Transform3D & strawTransform(unsigned int straw) const
Straw transform - fast access in array, in Tracking frame: Amg.
Definition: TRT_BaseElement.cxx:89
a
TList * a
Definition: liststreamerinfos.cxx:10
h
GetDetectorLocalFrames::writeVector
void writeVector(const std::string &name, const Amg::Vector3D &vector)
Definition: GetDetectorLocalFrames.cxx:222
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
GetDetectorLocalFrames::m_trt_straw_layer
int m_trt_straw_layer
Definition: GetDetectorLocalFrames.h:67
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
GetDetectorLocalFrames::writePixelFames
void writePixelFames()
Functions to write the data.
Definition: GetDetectorLocalFrames.cxx:127
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
TRT_ID::straw_begin
const_expanded_id_iterator straw_begin(void) const
For straw ids, only expanded id iterators are available.
Definition: TRT_ID.h:969
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
GetDetectorLocalFrames::m_outputFile
std::ofstream m_outputFile
Definition: GetDetectorLocalFrames.h:55
GetDetectorLocalFrames::m_TRTDetectorManager
const InDetDD::TRT_DetectorManager * m_TRTDetectorManager
Definition: GetDetectorLocalFrames.h:72
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
fitman.k
k
Definition: fitman.py:528
TRT_ID::straw_id
Identifier straw_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer, int straw) const
Three ways of getting id for a single straw:
Definition: TRT_ID.h:581
ServiceHandle< ICondSvc >
GetDetectorLocalFrames::writeTRTFrames
void writeTRTFrames()
Writing the Detailed (all straws) TRT Positions.
Definition: GetDetectorLocalFrames.cxx:165
GetDetectorLocalFrames::m_eventCount
int m_eventCount
Counter.
Definition: GetDetectorLocalFrames.h:75
Identifier
Definition: IdentifierFieldParser.cxx:14