ATLAS Offline Software
Loading...
Searching...
No Matches
ForDetEnvelopeFactory Class Referencefinal

#include <ForDetEnvelopeFactory.h>

Inheritance diagram for ForDetEnvelopeFactory:
Collaboration diagram for ForDetEnvelopeFactory:

Public Member Functions

 ForDetEnvelopeFactory (StoreGateSvc *pDetStore)
 ~ForDetEnvelopeFactory ()=default
virtual void create (GeoPhysVol *world) override
virtual const ForDetEnvelopeManagergetDetectorManager () const override

Private Member Functions

const ForDetEnvelopeFactoryoperator= (const ForDetEnvelopeFactory &right)
 ForDetEnvelopeFactory (const ForDetEnvelopeFactory &right)

Private Attributes

ForDetEnvelopeManagerm_detectorManager
StoredMaterialManagerm_materialManager
StoreGateSvcm_detectorStore

Detailed Description

Definition at line 15 of file ForDetEnvelopeFactory.h.

Constructor & Destructor Documentation

◆ ForDetEnvelopeFactory() [1/2]

ForDetEnvelopeFactory::ForDetEnvelopeFactory ( StoreGateSvc * pDetStore)

Definition at line 22 of file ForDetEnvelopeFactory.cxx.

23 : m_detectorManager(nullptr),
24 m_materialManager(nullptr),
25 m_detectorStore(detStore)
26{
27}
StoredMaterialManager * m_materialManager
ForDetEnvelopeManager * m_detectorManager

◆ ~ForDetEnvelopeFactory()

ForDetEnvelopeFactory::~ForDetEnvelopeFactory ( )
default

◆ ForDetEnvelopeFactory() [2/2]

ForDetEnvelopeFactory::ForDetEnvelopeFactory ( const ForDetEnvelopeFactory & right)
private

Member Function Documentation

◆ create()

void ForDetEnvelopeFactory::create ( GeoPhysVol * world)
overridevirtual

Definition at line 30 of file ForDetEnvelopeFactory.cxx.

31{
32 if (StatusCode::SUCCESS != m_detectorStore->retrieve(m_materialManager, std::string("MATERIALS"))) {
33 return;
34 }
35
36 // Get the materials
37 const GeoMaterial* air = m_materialManager->getMaterial("std::Air");
38
39 // Build boolean shape: union of two tubes
40 const GeoTube* tube1 = new GeoTube(0.,2000.*Gaudi::Units::mm,188750.*Gaudi::Units::mm);
41 GeoTube* tube2 = new GeoTube(0.,2000.*Gaudi::Units::mm,188750.*Gaudi::Units::mm);
42 GeoTrf::TranslateZ3D xfRelativeA(211250.*Gaudi::Units::mm);
43 GeoTrf::TranslateZ3D xfRelativeC(-211250.*Gaudi::Units::mm);
44
45 const GeoShapeShift& envShape1 = (*tube1)<<xfRelativeA;
46 const GeoShapeUnion& envShape = envShape1.add((*tube2)<<xfRelativeC);
47
48 GeoLogVol* lvEnv = new GeoLogVol("ForDetEnvelope",&envShape,air);
49 GeoPhysVol* pvEnv = new GeoPhysVol(lvEnv);
50
51 GeoNameTag *tag = new GeoNameTag("ForDetEnvelope");
52 world->add(tag);
53 world->add(pvEnv);
54
55 m_detectorManager=new ForDetEnvelopeManager();
56 m_detectorManager->addTreeTop(pvEnv);
57}

◆ getDetectorManager()

const ForDetEnvelopeManager * ForDetEnvelopeFactory::getDetectorManager ( ) const
overridevirtual

Definition at line 60 of file ForDetEnvelopeFactory.cxx.

61{
62 return m_detectorManager;
63}

◆ operator=()

const ForDetEnvelopeFactory & ForDetEnvelopeFactory::operator= ( const ForDetEnvelopeFactory & right)
private

Member Data Documentation

◆ m_detectorManager

ForDetEnvelopeManager* ForDetEnvelopeFactory::m_detectorManager
private

Definition at line 38 of file ForDetEnvelopeFactory.h.

◆ m_detectorStore

StoreGateSvc* ForDetEnvelopeFactory::m_detectorStore
private

Definition at line 41 of file ForDetEnvelopeFactory.h.

◆ m_materialManager

StoredMaterialManager* ForDetEnvelopeFactory::m_materialManager
private

Definition at line 40 of file ForDetEnvelopeFactory.h.


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