![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <GeoPixelDisk.h>
Definition at line 11 of file GeoPixelDisk.h.
◆ GeoPixelDisk()
GeoPixelDisk::GeoPixelDisk |
( |
InDetDD::PixelDetectorManager * |
ddmgr, |
|
|
PixelGeometryManager * |
mgr, |
|
|
GeoModelIO::ReadGeoModel * |
sqliteReader, |
|
|
std::shared_ptr< std::map< std::string, GeoFullPhysVol * >> |
mapFPV, |
|
|
std::shared_ptr< std::map< std::string, GeoAlignableTransform * >> |
mapAX |
|
) |
| |
◆ Build()
GeoVPhysVol * GeoPixelDisk::Build |
( |
| ) |
|
|
overridevirtual |
Implements GeoVPixelFactory.
Definition at line 34 of file GeoPixelDisk.cxx.
47 std::ostringstream ostr;
49 const GeoLogVol* theDisk{
nullptr};
58 const GeoTube* diskTube =
new GeoTube(rmin,rmax,halflength);
59 theDisk =
new GeoLogVol(
"Disk"+ostr.str(),diskTube,air);
65 GeoFullPhysVol* diskPhys =
m_sqliteReader==
nullptr ?
new GeoFullPhysVol(theDisk) : nullptr;
137 for (
int ii = 0; ii < pixelECNSectors1*2; ii++) {
145 if(pixelECNSectors1>0) phiId = (
m_gmt_mgr->
GetSide()>0) ? ii : (3*pixelECNSectors1-ii-1)%(pixelECNSectors1*2);
159 int diskSide = (ii%2) ? +1 : -1;
171 GeoAlignableTransform* xform =
new GeoAlignableTransform(GeoTrf::Translate3D(
pos.x(),
pos.y(),
pos.z())*rm);
172 GeoVPhysVol * modulePhys = psd.Build();
173 std::ostringstream nameTag;
174 nameTag <<
"ModuleEC" << phiId;
175 GeoNameTag *
tag =
new GeoNameTag(nameTag.str());
177 diskPhys->add(
new GeoIdentifierTag(phiId));
178 diskPhys->add(xform);
179 diskPhys->add(modulePhys);
188 diskPhys=(*m_mapFPV)[
key];
195 for(
int ii =0; ii< pds.NCylinders(); ii++) {
197 GeoTransform* xform =
new GeoTransform( GeoTrf::Translate3D(0, 0, pds.ZPos()) );
198 diskPhys->add(xform);
199 diskPhys->add(pds.Build() );
205 xMat.add(diskPhys,
"PixelDisc");
208 xMat.add(diskPhys,
"PixelDisc"+ostr.str());
210 xMat.add(diskPhys,
"PixelDiscA");
211 xMat.add(diskPhys,
"PixelDiscA"+ostr.str());
213 xMat.add(diskPhys,
"PixelDiscC");
214 xMat.add(diskPhys,
"PixelDiscC"+ostr.str());
◆ RMax()
double GeoPixelDisk::RMax |
( |
| ) |
|
◆ RMin()
double GeoPixelDisk::RMin |
( |
| ) |
|
◆ Thickness()
double GeoPixelDisk::Thickness |
( |
| ) |
|
◆ m_DDmgr
◆ m_epsilon
const double GeoVPixelFactory::m_epsilon |
|
protectedinherited |
◆ m_gmt_mgr
◆ m_mapAX
std::shared_ptr<std::map<std::string, GeoAlignableTransform*> > GeoVPixelFactory::m_mapAX |
|
protectedinherited |
◆ m_mapFPV
std::shared_ptr<std::map<std::string, GeoFullPhysVol*> > GeoVPixelFactory::m_mapFPV |
|
protectedinherited |
◆ m_mat_mgr
◆ m_sqliteReader
GeoModelIO::ReadGeoModel* GeoVPixelFactory::m_sqliteReader |
|
protectedinherited |
The documentation for this class was generated from the following files:
void setNumRingsForDisk(int disk, int nRings)
virtual InDetDD::DistortedMaterialManager * distortedMatManager()=0
virtual double PixelChipThickness(bool isModule3D=false)=0
virtual double PixelBoardActiveLength(bool isModule3D=false)=0
virtual double PixelECCarbonRMin(std::string)=0
virtual void SetEta(int eta)=0
virtual double PixelECCarbonRMax(std::string)=0
const SiNumerology & numerology() const
Access Numerology.
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
virtual double PixelChipGap(bool isModule3D=false)=0
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
GeoModelIO::ReadGeoModel * m_sqliteReader
virtual double PixelHybridThickness(bool isModule3D=false)=0
InDetDD::PixelDetectorManager * m_DDmgr
PixelGeometryManager * m_gmt_mgr
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
virtual double PixelBoardThickness(bool isModule3D=false)=0
Eigen::Affine3d Transform3D
virtual void SetPhi(int phi)=0
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * >> mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * >> mapAX)
virtual double PixelECSiDz1()=0
virtual bool isEndcap()=0
virtual void addAlignableTransform(int level, const Identifier &id, GeoAlignableTransform *xf, const GeoVFullPhysVol *child)
Add alignable transforms.
void setNumPhiModulesForDiskRing(int disk, int ring, int nPhiModules)
std::string to_string(const DetectorType &type)
InDetMaterialManager * m_mat_mgr
Eigen::Matrix< double, 3, 1 > Vector3D
virtual double PixelECSiDz2()=0
virtual int PixelECNSectors1()=0
const GeoMaterial * getMaterial(const std::string &materialName)
Get material. First looks for locally defined material and if not found looks in GeoModel material ma...
virtual int dbVersion()=0
virtual double PixelDiskRMin()=0