BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
DetectorDescription/ROOTGeo/include/ROOTGeo/TofROOTGeo.h
Go to the documentation of this file.
1//$id$
2/*
3 * 2004/11/29 Zhengyun You Peking University
4 * Tof Geometry General for EventDisplay
5 *
6 * 2004/12/9 Zhengyun You Peking University
7 * named from TofGeo to TofROOTGeo
8 * inherit from class SubDetectorROOTGeo
9 */
10
11#ifndef TOF_ROOT_GEO_H
12#define TOF_ROOT_GEO_H
13
14#include <TGeoNode.h>
15#include <TGeoPhysicalNode.h>
16#include <TGeoVolume.h>
17
18#include "SubDetectorROOTGeo.h"
19/**
20 * Class TofGeo contains all of the objects necessary to describe the
21 * tof geometry.
22 *
23 * @author Zhengyun You \URL{mailto:youzy@hep.pku.cn}
24 *
25 */
26
28public:
29 /// Constructor.
30 TofROOTGeo();
31
32 /// Destructor.
34
35 /// Initialize the instance of ROOTGeo.
36 void InitFromGdml( const char* gdmlFile, const char* setupName );
37
38 /// Set the pointers to theirs nodes;
39 void SetNode();
40
41 /// Set default visual attributes;
42 void SetDefaultVis();
43
44 /// Set all visible;
45 void SetAllVisible();
46
47 /// Set quater visible;
48 void SetQuarterVisible();
49
50 /// Set the pointers to the physical nodes;
51 void SetPhysicalNode();
52
53 /// Get number of part;
54 int GetPartNb();
55
56 /// Get number of scintillators on each part;
57 int GetScinNb( int part );
58
59 /// Get Tof volume;
60 TGeoVolume* GetVolumeTof() { return m_Tof; }
61
62 /// Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;
63 TGeoVolumeAssembly* GetVolumeAssembly( int part );
64
65 /// Get scintillator volume;
66 TGeoVolume* GetVolumeScin( int part );
67
68 /// Get bucket volume;
69 TGeoVolume* GetVolumeBucket( int part );
70
71 /// Get scintillator node;
72 TGeoNode* GetScin( int part, int scin );
73
74 /// Get bucket node, 0 for west bucket, 1 for the east one;
75 TGeoNode* GetBucket( int part, int scin, int bucket );
76
77 /// Get scintillator physical node;
78 TGeoPhysicalNode* GetPhysicalScin( int part, int scin );
79
80private:
81 static const int m_kPart = 3;
82 static const int m_kAssemblyEc = 48;
83 static const int m_kAssemblyBr = 88;
84 static const int m_kBucketEc = 1;
85 static const int m_kBucketBr = 2;
86
87 TGeoVolume* m_Tof;
88 TGeoNode* m_NodeScin[m_kPart][m_kAssemblyBr];
89 TGeoPhysicalNode* m_PhysicalScin[m_kPart][m_kAssemblyBr];
90};
91
92#endif /* TOF_ROOT_GEO_H */
void SetQuarterVisible()
Set quater visible;.
TGeoVolume * GetVolumeScin(int part)
Get scintillator volume;.
void InitFromGdml(const char *gdmlFile, const char *setupName)
Initialize the instance of ROOTGeo.
TGeoVolume * GetVolumeBucket(int part)
Get bucket volume;.
void SetDefaultVis()
Set default visual attributes;.
TGeoVolumeAssembly * GetVolumeAssembly(int part)
Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.
TGeoNode * GetScin(int part, int scin)
Get scintillator node;.
TGeoNode * GetBucket(int part, int scin, int bucket)
Get bucket node, 0 for west bucket, 1 for the east one;.
int GetScinNb(int part)
Get number of scintillators on each part;.
void SetPhysicalNode()
Set the pointers to the physical nodes;.
TGeoPhysicalNode * GetPhysicalScin(int part, int scin)
Get scintillator physical node;.
void SetNode()
Set the pointers to theirs nodes;.