G4Root
Version 6.8
Toggle main menu visibility
Loading...
Searching...
No Matches
g4root
include
TG4RootNavMgr.h
Go to the documentation of this file.
1
// @(#)root/g4root:$Id$
2
// Author: Andrei Gheata 07/08/06
3
4
/*************************************************************************
5
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6
* All rights reserved. *
7
* *
8
* For the licensing terms see $ROOTSYS/LICENSE. *
9
* For the list of contributors see $ROOTSYS/README/CREDITS. *
10
*************************************************************************/
11
16
17
#ifndef ROOT_TG4RootNavMgr
18
#define ROOT_TG4RootNavMgr
19
20
#include <functional>
21
22
#include "G4Threading.hh"
23
24
#include "TObject.h"
25
26
class
TGeoManager;
27
class
TG4RootNavigator
;
28
class
TG4RootDetectorConstruction
;
29
class
TVirtualUserPostDetConstruction
;
30
class
G4TrackingManager;
31
35
36
class
TG4RootNavMgr
:
public
TObject
37
{
38
39
protected
:
40
TGeoManager*
fGeometry
;
41
TG4RootNavigator
*
fNavigator
;
42
TG4RootDetectorConstruction
*
fDetConstruction
;
44
TVirtualUserPostDetConstruction
*
fPostDetDetConstruction
;
46
Bool_t
fConnected
;
47
48
TG4RootNavMgr
();
49
TG4RootNavMgr
(
50
TGeoManager* geom,
TG4RootDetectorConstruction
* detConstruction = 0);
51
52
private
:
53
static
G4ThreadLocal
TG4RootNavMgr
*
fRootNavMgr
;
55
static
TG4RootNavMgr
*
fgMasterInstance
;
56
57
public
:
58
static
TG4RootNavMgr
*
GetInstance
(TGeoManager* geom = 0);
59
static
TG4RootNavMgr
*
GetInstance
(
const
TG4RootNavMgr
& navMgr);
60
static
TG4RootNavMgr
*
GetMasterInstance
();
61
virtual
~TG4RootNavMgr
();
62
63
Bool_t
ConnectToG4
();
64
void
Initialize
(
65
TVirtualUserPostDetConstruction
* sdinit = 0, Int_t nthreads = 1);
66
void
LocateGlobalPointAndSetup
(Double_t* pt, Double_t* dir = 0);
67
68
// Test utilities
69
void
PrintG4State
()
const
;
70
void
SetVerboseLevel
(Int_t level);
71
72
void
SetNavigator
(
TG4RootNavigator
* nav);
74
TG4RootNavigator
*
GetNavigator
()
const
{
return
fNavigator
; }
76
TG4RootDetectorConstruction
*
GetDetConstruction
()
const
77
{
78
return
fDetConstruction
;
79
}
80
81
void
SetG4TrackingManager
(G4TrackingManager* trackingManager);
82
84
void
SetGeometryRestoreFunction
(
85
std::function<Bool_t(Int_t)> restoreGeoStateFunction);
86
87
// ClassDef(TG4RootNavMgr,0) // Class crreating a G4Navigator based on ROOT
88
// geometry
89
};
90
#endif
TG4RootDetectorConstruction
Builder creating a pseudo G4 geometry starting from a TGeo geometry.
Definition
TG4RootDetectorConstruction.h:58
TG4RootNavMgr::fRootNavMgr
static G4ThreadLocal TG4RootNavMgr * fRootNavMgr
Definition
TG4RootNavMgr.h:53
TG4RootNavMgr::SetVerboseLevel
void SetVerboseLevel(Int_t level)
Definition
TG4RootNavMgr.cxx:200
TG4RootNavMgr::fGeometry
TGeoManager * fGeometry
Pointer to TGeo geometry.
Definition
TG4RootNavMgr.h:40
TG4RootNavMgr::SetNavigator
void SetNavigator(TG4RootNavigator *nav)
Definition
TG4RootNavMgr.cxx:148
TG4RootNavMgr::fgMasterInstance
static TG4RootNavMgr * fgMasterInstance
Definition
TG4RootNavMgr.h:55
TG4RootNavMgr::SetG4TrackingManager
void SetG4TrackingManager(G4TrackingManager *trackingManager)
Forward current G4TrackingManager.
Definition
TG4RootNavMgr.cxx:215
TG4RootNavMgr::fPostDetDetConstruction
TVirtualUserPostDetConstruction * fPostDetDetConstruction
Definition
TG4RootNavMgr.h:44
TG4RootNavMgr::GetDetConstruction
TG4RootDetectorConstruction * GetDetConstruction() const
Return the G4 geometry built based on ROOT one.
Definition
TG4RootNavMgr.h:76
TG4RootNavMgr::fConnected
Bool_t fConnected
Flags connection to G4.
Definition
TG4RootNavMgr.h:46
TG4RootNavMgr::GetNavigator
TG4RootNavigator * GetNavigator() const
Return the G4 navigator working with TGeo.
Definition
TG4RootNavMgr.h:74
TG4RootNavMgr::GetMasterInstance
static TG4RootNavMgr * GetMasterInstance()
Definition
TG4RootNavMgr.cxx:109
TG4RootNavMgr::fNavigator
TG4RootNavigator * fNavigator
G4 navigator working with TGeo.
Definition
TG4RootNavMgr.h:41
TG4RootNavMgr::PrintG4State
void PrintG4State() const
Definition
TG4RootNavMgr.cxx:207
TG4RootNavMgr::TG4RootNavMgr
TG4RootNavMgr()
Definition
TG4RootNavMgr.cxx:35
TG4RootNavMgr::LocateGlobalPointAndSetup
void LocateGlobalPointAndSetup(Double_t *pt, Double_t *dir=0)
Definition
TG4RootNavMgr.cxx:185
TG4RootNavMgr::GetInstance
static TG4RootNavMgr * GetInstance(TGeoManager *geom=0)
Definition
TG4RootNavMgr.cxx:79
TG4RootNavMgr::Initialize
void Initialize(TVirtualUserPostDetConstruction *sdinit=0, Int_t nthreads=1)
Definition
TG4RootNavMgr.cxx:175
TG4RootNavMgr::~TG4RootNavMgr
virtual ~TG4RootNavMgr()
Definition
TG4RootNavMgr.cxx:65
TG4RootNavMgr::ConnectToG4
Bool_t ConnectToG4()
Definition
TG4RootNavMgr.cxx:116
TG4RootNavMgr::fDetConstruction
TG4RootDetectorConstruction * fDetConstruction
Definition
TG4RootNavMgr.h:42
TG4RootNavMgr::SetGeometryRestoreFunction
void SetGeometryRestoreFunction(std::function< Bool_t(Int_t)> restoreGeoStateFunction)
Forward the given function to the TG4RootNavigator.
Definition
TG4RootNavMgr.cxx:221
TG4RootNavigator
GEANT4 navigator using directly a TGeo geometry.
Definition
TG4RootNavigator.h:41
TObject
TVirtualUserPostDetConstruction
Abstract class for defining links to G4 geometry.
Definition
TG4RootDetectorConstruction.h:157
Generated on
for G4Root by
1.17.0