|
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 35 of file GeoPixelDisk.cxx.
48 std::ostringstream ostr;
50 const GeoLogVol* theDisk{
nullptr};
59 const GeoTube* diskTube =
new GeoTube(rmin,rmax,halflength);
60 theDisk =
new GeoLogVol(
"Disk"+ostr.str(),diskTube,air);
66 GeoFullPhysVol* diskPhys =
m_sqliteReader==
nullptr ?
new GeoFullPhysVol(theDisk) : nullptr;
138 for (
int ii = 0; ii < pixelECNSectors1*2; ii++) {
146 if(pixelECNSectors1>0) phiId = (
m_gmt_mgr->
GetSide()>0) ? ii : (3*pixelECNSectors1-ii-1)%(pixelECNSectors1*2);
160 int diskSide = (ii%2) ? +1 : -1;
172 GeoAlignableTransform* xform =
new GeoAlignableTransform(GeoTrf::Translate3D(
pos.x(),
pos.y(),
pos.z())*rm);
173 GeoVPhysVol * modulePhys = psd.Build();
174 std::ostringstream nameTag;
175 nameTag <<
"ModuleEC" << phiId;
176 GeoNameTag *
tag =
new GeoNameTag(nameTag.str());
178 diskPhys->add(
new GeoIdentifierTag(phiId));
179 diskPhys->add(xform);
180 diskPhys->add(modulePhys);
189 diskPhys=(*m_mapFPV)[
key];
196 for(
int ii =0; ii< pds.NCylinders(); ii++) {
198 GeoTransform* xform =
new GeoTransform( GeoTrf::Translate3D(0, 0, pds.ZPos()) );
199 diskPhys->add(xform);
200 diskPhys->add(pds.Build() );
206 xMat.add(diskPhys,
"PixelDisc");
209 xMat.add(diskPhys,
"PixelDisc"+ostr.str());
211 xMat.add(diskPhys,
"PixelDiscA");
212 xMat.add(diskPhys,
"PixelDiscA"+ostr.str());
214 xMat.add(diskPhys,
"PixelDiscC");
215 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