Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4OpGeometryManager.h
Go to the documentation of this file.
1#ifndef TG4_OP_GEOMETRY_MANAGER_H
2#define TG4_OP_GEOMETRY_MANAGER_H
3
4//------------------------------------------------
5// The Geant4 Virtual Monte Carlo package
6// Copyright (C) 2007 - 2014 Ivana Hrivnacova
7// All rights reserved.
8//
9// For the licensing terms see geant4_vmc/LICENSE.
10// Contact: root-vmc@cern.ch
11//-------------------------------------------------
12
17
18#include "TG4Globals.h"
19#include "TG4IntMap.h"
20#include "TG4OpSurfaceMap.h"
21#include "TG4Verbose.h"
22
23#include <globals.hh>
24
25#include <Rtypes.h>
26#include <TMCOptical.h>
27#include <TVirtualMCGeometry.h>
28
30
31class G4OpticalSurface;
32
38
40{
41 public:
43 virtual ~TG4OpGeometryManager();
44
45 // functions for definition of surfaces
46 // and material properties for optical physics
47 virtual void SetCerenkov(Int_t itmed, Int_t npckov, Float_t* ppckov,
48 Float_t* absco, Float_t* effic, Float_t* rindex, Bool_t aspline,
49 Bool_t rspline);
50 virtual void SetCerenkov(Int_t itmed, Int_t npckov, Double_t* ppckov,
51 Double_t* absco, Double_t* effic, Double_t* rindex, Bool_t aspline,
52 Bool_t rspline);
53
54 virtual void DefineOpSurface(const char* name, EMCOpSurfaceModel model,
55 EMCOpSurfaceType surfaceType, EMCOpSurfaceFinish surfaceFinish,
56 Double_t sigmaAlpha);
57 virtual void SetBorderSurface(const char* name, const char* vol1Name,
58 int vol1CopyNo, const char* vol2Name, int vol2CopyNo,
59 const char* opSurfaceName);
60 virtual void SetSkinSurface(
61 const char* name, const char* volName, const char* opSurfaceName);
62 virtual void SetMaterialProperty(Int_t itmed, const char* propertyName,
63 Int_t np, Double_t* pp, Double_t* values, Bool_t createNewKey,
64 Bool_t spline);
65 virtual void SetMaterialProperty(
66 Int_t itmed, const char* propertyName, Double_t value);
67 virtual void SetMaterialProperty(const char* surfaceName,
68 const char* propertyName, Int_t np, Double_t* pp, Double_t* values,
69 Bool_t createNewKey, Bool_t spline);
70
71 // functions for access to geometry
72
73 virtual void Gfmate(Int_t imat, char* name, Float_t& a, Float_t& z,
74 Float_t& dens, Float_t& radl, Float_t& absl, Float_t* ubuf, Int_t& nbuf);
75 virtual void Gfmate(Int_t imat, char* name, Double_t& a, Double_t& z,
76 Double_t& dens, Double_t& radl, Double_t& absl, Double_t* ubuf,
77 Int_t& nbuf);
78 virtual Bool_t GetMaterial(Int_t imat, TString& name, Double_t& a,
79 Double_t& z, Double_t& density, Double_t& radl, Double_t& inter,
80 TArrayD& par);
81
82 private:
87
88 // methods
89 Double_t AddUnit(const G4String& propertyName, Double_t value) const;
90
91 //
92 // data members
93
96
99};
100
101#endif // TG4_OP_GEOMETRY_MANAGER_H
Definition of the TG4Globals class and basic container types.
Definition of the TG4IntMap class.
Definition of the TG4OpSurfaceMap typedef.
Definition of the TG4Verbose class.
Services for accessing to Geant4 geometry.
Geant4 implementation of the TVirtualMC interface methods for definition of material properties for o...
virtual void SetCerenkov(Int_t itmed, Int_t npckov, Float_t *ppckov, Float_t *absco, Float_t *effic, Float_t *rindex, Bool_t aspline, Bool_t rspline)
virtual Bool_t GetMaterial(Int_t imat, TString &name, Double_t &a, Double_t &z, Double_t &density, Double_t &radl, Double_t &inter, TArrayD &par)
TG4OpGeometryManager(const TG4OpGeometryManager &right)
Not implemented.
TG4OpSurfaceMap * fOpSurfaceMap
map of optical surfaces names to their objects
virtual void SetMaterialProperty(Int_t itmed, const char *propertyName, Int_t np, Double_t *pp, Double_t *values, Bool_t createNewKey, Bool_t spline)
virtual void Gfmate(Int_t imat, char *name, Float_t &a, Float_t &z, Float_t &dens, Float_t &radl, Float_t &absl, Float_t *ubuf, Int_t &nbuf)
virtual void SetSkinSurface(const char *name, const char *volName, const char *opSurfaceName)
TG4GeometryServices * fGeometryServices
geometry services
Double_t AddUnit(const G4String &propertyName, Double_t value) const
TG4OpGeometryManager & operator=(const TG4OpGeometryManager &right)
Not implemented.
virtual void SetBorderSurface(const char *name, const char *vol1Name, int vol1CopyNo, const char *vol2Name, int vol2CopyNo, const char *opSurfaceName)
virtual void DefineOpSurface(const char *name, EMCOpSurfaceModel model, EMCOpSurfaceType surfaceType, EMCOpSurfaceFinish surfaceFinish, Double_t sigmaAlpha)
Base class for defining the verbose level and a common messenger.
Definition TG4Verbose.h:36
std::map< G4String, G4OpticalSurface * > TG4OpSurfaceMap
The map between optical surfaces names and their objects.