![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
12 #include "Gaudi/Property.h"
13 #include "GaudiKernel/IService.h"
14 #include "GaudiKernel/IToolSvc.h"
26 #include "GeoModelKernel/GeoFullPhysVol.h"
27 #include "GeoModelKernel/GeoDefinitions.h"
28 #include "GaudiKernel/SystemOfUnits.h"
35 static const InterfaceID IID_LArRecoSimpleGeomTool(
"LArRecoSimpleGeomTool", 1, 0);
38 {
return IID_LArRecoSimpleGeomTool; }
41 const std::string&
name,
42 const IInterface*
parent) :
45 declareInterface<LArRecoSimpleGeomTool>(
this );
67 <<
" " << detectorKey.
tag());
68 if ( detectorKey.
tag() !=
"LAr-H8-00" && detectorKey.
tag() !=
"LAr-H6-00"
69 && detectorKey.
tag() !=
"LAr-G3-00")
110 if (
m_HEC->size()==0)
113 ATH_MSG_INFO (
" LArRecoSimpleGeomTool successfully initialized ");
114 return StatusCode::SUCCESS;
124 return StatusCode::SUCCESS;
130 std::vector<double>&
radius,
131 std::vector<double>&
depth,
132 std::vector<double>& hlength )
const
152 GeoFullPhysVol* fullPV = storedPV->
getPhysVol();
153 htrans = fullPV->getAbsoluteTransform()*fullPV->getDefAbsoluteTransform().inverse();
165 if (lar->size()<14)
return false;
181 depth.push_back( dep/2. );
182 hlength.push_back( len );
191 if (lar->size()<15)
return false;
204 depth.push_back( dep /2.);
205 hlength.push_back( len );
218 depth.push_back( dep /2.);
219 hlength.push_back( len );
232 depth.push_back( dep /2.);
233 hlength.push_back( len );
246 depth.push_back( dep /2.);
247 hlength.push_back( len );
257 if (lar->size()==0)
return false;
264 if ( !lar || lar->size()==0)
return false;
274 depth.push_back( dep /2.);
275 hlength.push_back( len );
285 if (lar->size()==0)
return false;
297 depth.push_back( dep /2.);
298 hlength.push_back( len );
309 std::vector<double>&
z,
310 std::vector<double>&
depth,
311 std::vector<double>& rmin, std::vector<double>& rmax )
const
330 GeoFullPhysVol* fullPV = storedPV->
getPhysVol();
331 htrans = fullPV->getAbsoluteTransform()*fullPV->getDefAbsoluteTransform().inverse();
339 double ri,ra,dep,zcent;
347 if (lar->size()<60)
return false;
362 rmin.push_back( ri );
363 rmax.push_back( ra );
364 depth.push_back( dep/2. );
365 z.push_back( zcent );
381 rmin.push_back( ri );
382 rmax.push_back( ra );
383 depth.push_back( dep/2. );
384 z.push_back( zcent );
408 rmin.push_back( ri );
409 rmax.push_back( ra );
410 depth.push_back( dep/2. );
411 z.push_back( zcent );
435 rmin.push_back( ri );
436 rmax.push_back( ra );
437 depth.push_back( dep/2. );
438 z.push_back( zcent );
448 if (lar->size()==0)
return false;
466 rmin.push_back( ri );
467 rmax.push_back( ra );
468 depth.push_back( dep/2. );
469 z.push_back( zcent );
480 if (lar->size()==0)
return false;
503 rmin.push_back( ri );
504 rmax.push_back( ra );
505 depth.push_back( dep/2. );
506 z.push_back( zcent );
516 rmin.push_back(
nb );
518 rmax.push_back(
nb );
535 rmin.push_back(
nb );
537 rmax.push_back(
nb );
554 rmin.push_back(
nb );
556 rmax.push_back(
nb );
579 std::vector<double>&
radius,
580 std::vector<double>&
depth,
581 std::vector<double>& hlength )
597 GeoFullPhysVol* fullPV = storedPV->
getPhysVol();
598 htrans = fullPV->getAbsoluteTransform()*fullPV->getDefAbsoluteTransform().inverse();
611 std::vector<double>&
radius,
612 std::vector<double>&
depth,
613 std::vector<double>& hlength )
629 GeoFullPhysVol* fullPV = storedPV->
getPhysVol();
630 htrans = fullPV->getAbsoluteTransform()*fullPV->getDefAbsoluteTransform().inverse();
646 return std::string(
"LARCRYO_B");
648 return std::string(
"LARCRYO_EC_POS");
650 return std::string(
"LARCRYO_EC_NEG");
652 return std::string(
"SOLENOID");
654 return std::string(
"PRESAMPLER_B_POS");
656 return std::string(
"PRESAMPLER_B_NEG");
658 return std::string(
"EMB_POS");
660 return std::string(
"EMB_NEG");
662 return std::string(
"PRESAMPLER_EC_POS");
664 return std::string(
"PRESAMPLER_EC_NEG");
666 return std::string(
"EMEC_POS");
668 return std::string(
"EMEC_NEG");
670 return std::string(
"HEC1_POS");
672 return std::string(
"HEC1_NEG");
674 return std::string(
"HEC2_POS");
676 return std::string(
"HEC2_NEG");
678 return std::string(
"FCAL1_POS");
680 return std::string(
"FCAL1_NEG");
682 return std::string(
"FCAL2_POS");
684 return std::string(
"FCAL2_NEG");
686 return std::string(
"FCAL3_POS");
688 return std::string(
"FCAL3_NEG");
690 return std::string(
"");
def retrieve(aClass, aKey=None)
@ depth
pointing depth of the shower as calculated in egammaqgcld
virtual IRDBRecordset_ptr getRecordsetPtr(const std::string &node, const std::string &tag, const std::string &tag2node="", const std::string &connName="ATLASDD")=0
Provides access to the Recordset object containing HVS-tagged data.
const std::string & node() const
Return the version node.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition of CaloDetDescriptor.
GeoFullPhysVol * getPhysVol()
Destructor.
Definition of the abstract IRDBAccessSvc interface.
::StatusCode StatusCode
StatusCode definition for legacy code.
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Eigen::Affine3d Transform3D
const std::string & tag() const
Return version tag.
CaloPhiRange class declaration.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition of the abstract IRDBRecord interface.
IRDBRecord is one record in the IRDBRecordset object.
virtual double getDouble(const std::string &fieldName) const =0
Get double field value.
Definition of the abstract IRDBRecordset interface.
ALIGNVOL
LAr Alignable volumes.