ATLAS Offline Software
Loading...
Searching...
No Matches
SimplestToyDetectorFactory Class Reference

#include <SimplestToyDetectorFactory.h>

Inheritance diagram for SimplestToyDetectorFactory:
Collaboration diagram for SimplestToyDetectorFactory:

Public Member Functions

 SimplestToyDetectorFactory (StoreGateSvc *pDetStore)
 ~SimplestToyDetectorFactory ()
virtual void create (GeoPhysVol *world)
virtual const ToyDetectorManagergetDetectorManager () const

Private Member Functions

const SimplestToyDetectorFactoryoperator= (const SimplestToyDetectorFactory &right)
 SimplestToyDetectorFactory (const SimplestToyDetectorFactory &right)

Private Attributes

ToyDetectorManagerm_detectorManager
StoreGateSvcm_detectorStore

Detailed Description

Definition at line 10 of file SimplestToyDetectorFactory.h.

Constructor & Destructor Documentation

◆ SimplestToyDetectorFactory() [1/2]

SimplestToyDetectorFactory::SimplestToyDetectorFactory ( StoreGateSvc * pDetStore)

Definition at line 29 of file SimplestToyDetectorFactory.cxx.

◆ ~SimplestToyDetectorFactory()

SimplestToyDetectorFactory::~SimplestToyDetectorFactory ( )

Definition at line 33 of file SimplestToyDetectorFactory.cxx.

33{}

◆ SimplestToyDetectorFactory() [2/2]

SimplestToyDetectorFactory::SimplestToyDetectorFactory ( const SimplestToyDetectorFactory & right)
private

Member Function Documentation

◆ create()

void SimplestToyDetectorFactory::create ( GeoPhysVol * world)
virtual

Definition at line 38 of file SimplestToyDetectorFactory.cxx.

39{
40 m_detectorManager=new ToyDetectorManager();
41
42 //-----------------------------------------------------------------------------------//
43 // Get the materials that we shall use. //
44 // ----------------------------------------------------------------------------------//
45
46 // Bogus densities. Later: read from database.
47 double densityOfAir=0.1, densityOfPolystyrene=0.2;
48 const GeoMaterial *air = new GeoMaterial("Air Two",densityOfAir);
49 const GeoMaterial *poly = new GeoMaterial("std::Polystyrene",densityOfPolystyrene);
50
51
52 //-----------------------------------------------------------------------------------//
53 // Next make the box that describes the shape of the toy volume: //
54 const GeoBox *toyBox = new GeoBox(800*GeoModelKernelUnits::cm, 800*GeoModelKernelUnits::cm, 1000*GeoModelKernelUnits::cm); //
55 // Bundle this with a material into a logical volume: //
56 const GeoLogVol *toyLog = new GeoLogVol("ToyLog", toyBox, air); //
57 // ..And create a physical volume: //
58 GeoPhysVol *toyPhys = new GeoPhysVol(toyLog); //
59 // Add this to the list of top level physical volumes: //
60 m_detectorManager->addTreeTop(toyPhys); //
61
62
63
64 GeoBox *sPass = new GeoBox(5.0*GeoModelKernelUnits::cm, 30*GeoModelKernelUnits::cm, 30*GeoModelKernelUnits::cm);
65 GeoLogVol *lPass = new GeoLogVol("Passive", sPass, poly);
66 GeoPhysVol *pPass = new GeoPhysVol(lPass);
67
68 GeoBox *sIPass = new GeoBox(4*GeoModelKernelUnits::cm, 25*GeoModelKernelUnits::cm, 25*GeoModelKernelUnits::cm);
69 GeoLogVol *lIPass = new GeoLogVol("InnerPassive", sIPass, air);
70 GeoPhysVol *pIPass = new GeoPhysVol(lIPass);
71
72 pPass->add(pIPass);
73 toyPhys->add(pPass);
74
75
76
77 //------------------------------------------------------------------------------------//
78 // Now insert all of this into the world... //
79 GeoNameTag *tag = new GeoNameTag("Toy"); //
80 world->add(tag); //
81 world->add(toyPhys); //
82 //------------------------------------------------------------------------------------//
83}

◆ getDetectorManager()

const ToyDetectorManager * SimplestToyDetectorFactory::getDetectorManager ( ) const
virtual

Definition at line 85 of file SimplestToyDetectorFactory.cxx.

86{
87 return m_detectorManager;
88}

◆ operator=()

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

Member Data Documentation

◆ m_detectorManager

ToyDetectorManager* SimplestToyDetectorFactory::m_detectorManager
private

Definition at line 33 of file SimplestToyDetectorFactory.h.

◆ m_detectorStore

StoreGateSvc* SimplestToyDetectorFactory::m_detectorStore
private

Definition at line 35 of file SimplestToyDetectorFactory.h.


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