ATLAS Offline Software
Loading...
Searching...
No Matches
DumpGeo.cxx File Reference
#include "DumpGeo/DumpGeo.h"
#include "AthenaBaseComps/AthMsgStreamMacros.h"
#include "GeoModelInterfaces/IGeoDbTagSvc.h"
#include "GeoModelUtilities/GeoModelExperiment.h"
#include "GeoModelDBManager/GMDBManager.h"
#include "GeoModelKernel/GeoBox.h"
#include "GeoModelKernel/GeoVDetectorManager.h"
#include "GeoModelKernel/GeoVolumeCursor.h"
#include "GeoModelWrite/WriteGeoModel.h"
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <stdexcept>
#include <vector>
#include "GeoModelKernel/Units.h"

Go to the source code of this file.

Macros

#define UNITS   GeoModelKernelUnits
#define gr   UNITS::gram
#define mole   UNITS::mole
#define cm3   UNITS::cm3

Functions

GeoPhysVol * createTheWorld ()

Macro Definition Documentation

◆ cm3

#define cm3   UNITS::cm3

◆ gr

#define gr   UNITS::gram

◆ mole

#define mole   UNITS::mole

◆ UNITS

#define UNITS   GeoModelKernelUnits

Definition at line 41 of file DumpGeo.cxx.

Function Documentation

◆ createTheWorld()

GeoPhysVol * createTheWorld ( )

Definition at line 45 of file DumpGeo.cxx.

45 {
46// Define the units
47#define gr UNITS::gram
48#define mole UNITS::mole
49#define cm3 UNITS::cm3
50
51 // Define the chemical elements
52 GeoElement* Nitrogen =
53 new GeoElement("Nitrogen", "N", 7.0, 14.0067 * gr / mole);
54 GeoElement* Oxygen = new GeoElement("Oxygen", "O", 8.0, 15.9995 * gr / mole);
55 GeoElement* Argon = new GeoElement("Argon", "Ar", 18.0, 39.948 * gr / mole);
56 GeoElement* Hydrogen =
57 new GeoElement("Hydrogen", "H", 1.0, 1.00797 * gr / mole);
58
59 // Define the materials
60 double densityOfAir = 0.001214 * gr / cm3;
61 GeoMaterial* air = new GeoMaterial("Air", densityOfAir);
62 air->add(Nitrogen, 0.7494);
63 air->add(Oxygen, 0.2369);
64 air->add(Argon, 0.0129);
65 air->add(Hydrogen, 0.0008);
66 air->lock();
67
68 //-----------------------------------------------------------------------------------//
69 // create the world volume container and
70 // get the 'world' volume, i.e. the root volume of the GeoModel tree
71 const GeoBox* worldBox =
72 new GeoBox(1000 * UNITS::cm, 1000 * UNITS::cm, 1000 * UNITS::cm);
73 const GeoLogVol* worldLog = new GeoLogVol("WorldLog", worldBox, air);
74 GeoPhysVol* world = new GeoPhysVol(worldLog);
75 return world;
76}
#define cm3
#define gr
#define mole