FairRoot/PandaRoot
Functions | Variables
Promme/create_Lmd_HV_MAPS.C File Reference
#include <TROOT.h>
#include <FairGeoLoader.h>
#include <FairGeoInterface.h>
#include <FairGeoBuilder.h>
#include <FairGeoPcon.h>
#include <FairGeoMedia.h>
#include <TGeoCompositeShape.h>
#include <TGeoMatrix.h>
#include <TGeoVolume.h>
#include <TGeoTube.h>
#include <TGeoArb8.h>
#include <TGeoPara.h>
#include <TSystem.h>
#include <TFile.h>
#include <TGeoPcon.h>
#include <TGeoManager.h>
#include <TGeoTorus.h>
#include <TGeoSphere.h>
#include <TMath.h>
#include <TRandom.h>
#include <PndLmdDim.h>
#include <TGeoPhysicalNode.h>
#include <TGeoCone.h>
#include <iostream>
#include <cmath>
#include <sstream>
#include <TApplication.h>

Go to the source code of this file.

Functions

int create_HV_MAPS (bool misalign=false)
 
int main ()
 

Variables

const bool show_beam_pipe_dummy = true
 
const bool include_box = false
 

Function Documentation

int create_HV_MAPS ( bool  misalign = false)

Definition at line 42 of file Promme/create_Lmd_HV_MAPS.C.

References fi, PndLmdDim::Generate_rootgeom(), geobuild, geoFace, geoLoad, PndLmdDim::Get_instance(), gGeoMan, Media, nmed, outfile, top, TString, and PndLmdDim::Write_transformation_matrices().

42  {
43  /*
44  // ****************************** Parameters of Detector ************************
45  //--------------------------------------------------------------------
46  gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
47 
48  // Load this libraries
49  gSystem->Load("libGeoBase");
50  gSystem->Load("libParBase");
51  gSystem->Load("libBase");
52  gSystem->Load("libPndData");
53  gSystem->Load("libPassive");
54 
55 
56  TString outfile = "geo/HV_MAPS-Design.root";
57  TFile* fi = new TFile(outfile, "RECREATE");
58 
59  FairGeoLoader* geoLoad = NULL;// FairGeoLoader::Instance();//
60  if (!geoLoad){
61  cout << " creating FairGeoLoader instance " << endl;
62  geoLoad = new FairGeoLoader("TGeo", "FairGeoLoader");
63  }
64 
65  FairGeoInterface *geoFace = geoLoad->getGeoInterface();
66  geoFace->setMediaFile("../../geometry/media_pnd.geo");
67  geoFace->readMedia();
68  geoFace->print();
69 
70  FairGeoMedia *Media = geoFace->getMedia();
71  FairGeoBuilder *geobuild = geoLoad->getGeoBuilder();
72 
73  // retrieve available media
74  std::string str_ti = "Aluminum"; // "titanium" is in Panda software not yet implemented
75  FairGeoMedium* FairMediumAir = Media->getMedium("air");
76  FairGeoMedium* FairMediumSteel = Media->getMedium("steel");
77  FairGeoMedium* FairMediumTi = Media->getMedium(str_ti.c_str()); //titanium"); not found in media_pnd.geo !
78  FairGeoMedium *FairMediumSilicon = Media->getMedium("silicon");
79  FairGeoMedium *FairMediumDiamond = Media->getMedium("HYPdiamond");
80  FairGeoMedium *FairMediumVacuum = Media->getMedium("vacuum");
81  FairGeoMedium *FairMediumKapton = Media->getMedium("kapton");
82 
83  if (!FairMediumAir || !FairMediumSteel || !FairMediumTi || !FairMediumKapton || !FairMediumSilicon || !FairMediumVacuum) {
84  std::cout << " warning: not all media found " << std::endl;
85  }
86 
87  int nmed;
88  nmed = geobuild->createMedium(FairMediumAir);
89  nmed = geobuild->createMedium(FairMediumSteel);
90  nmed = geobuild->createMedium(FairMediumTi);
91  nmed = geobuild->createMedium(FairMediumKapton);
92  nmed = geobuild->createMedium(FairMediumSilicon);
93  nmed = geobuild->createMedium(FairMediumDiamond);
94  nmed = geobuild->createMedium(FairMediumVacuum);
95 
96  TGeoManager* gGeoMan = (TGeoManager*) gROOT->FindObject("FAIRGeom");
97  if (!gGeoMan) {
98  cout << " no FAIR Geometry manager found! " << endl;
99  return;
100  }
101 
102  TGeoVolume *top = new TGeoVolumeAssembly("lmd_HV_MAPS");
103 
104  gGeoMan->SetTopVolume(top);
105  PndLmdDim& lmddim = PndLmdDim::Get_instance();
106 */
107  //--------------------------------------------------------------------
108  //gROOT->Macro("$VMCWORKDIR/gconfig/rootlogon.C");
109 
110  // Load this libraries
111  //gSystem->Load("libGeoBase");
112  //gSystem->Load("libParBase");
113  //gSystem->Load("libBase");
114  //gSystem->Load("libPndData");
115  //gSystem->Load("libPassive");
116 
117  TString outfile= "geo/HV_MAPS-Design.root";
118  TFile* fi = new TFile(outfile,"RECREATE");
119 
120  FairGeoLoader* geoLoad = new FairGeoLoader("TGeo","FairGeoLoader");
121  FairGeoInterface *geoFace = geoLoad->getGeoInterface();
122  geoFace->setMediaFile("../../geometry/media_pnd.geo");
123  geoFace->readMedia();
124  geoFace->print();
125 
126  FairGeoMedia *Media = geoFace->getMedia();
127  FairGeoBuilder *geobuild=geoLoad->getGeoBuilder();
128 
129  FairGeoMedium *FairMediumSilicon = Media->getMedium("silicon");
130 
131  Int_t nmed=geobuild->createMedium(FairMediumSilicon);
132 
133  TGeoManager* gGeoMan = (TGeoManager*)gROOT->FindObject("FAIRGeom");
134 
135  TGeoVolume *top = new TGeoVolumeAssembly("lum");
136 
137  gGeoMan->SetTopVolume(top);
138 
140 
141  // for testing purposes
142  lmddim.Generate_rootgeom(*top, misalign);
143  //lmddim.Write_transformation_matrices("matrices.txt", false);
144  if (!misalign)
145  lmddim.Write_transformation_matrices("matrices_perfect.txt", false);
146  else
147  lmddim.Write_transformation_matrices("matrices.txt", false);
148 
149  //lmddim.Read_transformation_matrices("matrices.txt", true);
150  //lmddim.Write_transformation_matrices("matrices_aligned.txt", true);
151 
152  gGeoMan->CloseGeometry();
153  top->Write();
154  fi->Close();
155  // gGeoManager->Export(outfile);
156  gGeoMan->SetVisLevel(20);
157  top->Draw("ogl");
158  // gGeoManager->Export(outfile);
159  //gGeoMan->SetVisLevel(20);
160  //top->Draw("ogl");
161  //top->RandomPoints(100000);
162  return 0;
163 }
FairGeoLoader * geoLoad
FairGeoMedia * Media
TGeoManager * gGeoMan
TGeoVolume * top
FairGeoBuilder * geobuild
TFile * fi
void Generate_rootgeom(TGeoVolume &mothervol, bool misaligned=false)
Definition: PndLmdDim.cxx:331
void Write_transformation_matrices(string filename, bool aligned=true, int version_number=geometry_version)
Definition: PndLmdDim.cxx:2179
static PndLmdDim & Get_instance()
Definition: PndLmdDim.cxx:242
FairGeoInterface * geoFace
TString outfile
int main ( void  )

Definition at line 167 of file Promme/create_Lmd_HV_MAPS.C.

References create_HV_MAPS().

167  {
168  TApplication myapp("myapp", 0, 0);
169  create_HV_MAPS();
170  myapp.Run();
171  return 0;
172 }
int create_HV_MAPS()

Variable Documentation

const bool include_box = false

Definition at line 40 of file Promme/create_Lmd_HV_MAPS.C.

const bool show_beam_pipe_dummy = true

Definition at line 38 of file Promme/create_Lmd_HV_MAPS.C.