CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
DetectorDescription/ROOTGeo/ROOTGeo-00-00-15/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 <TGeoVolume.h>
15#include <TGeoNode.h>
16#include <TGeoPhysicalNode.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:[email protected]}
24 *
25 */
26
28{
29 public:
30
31 /// Constructor.
32 TofROOTGeo();
33
34 /// Destructor.
36
37 /// Initialize the instance of ROOTGeo.
38 void InitFromGdml( const char *gdmlFile, const char *setupName );
39
40 /// Set the pointers to theirs nodes;
41 void SetNode();
42
43 /// Set default visual attributes;
44 void SetDefaultVis();
45
46 /// Set all visible;
47 void SetAllVisible();
48
49 /// Set quater visible;
50 void SetQuarterVisible();
51
52 /// Set the pointers to the physical nodes;
53 void SetPhysicalNode();
54
55 /// Get number of part;
56 int GetPartNb();
57
58 /// Get number of scintillators on each part;
59 int GetScinNb(int part);
60
61 /// Get Tof volume;
62 TGeoVolume *GetVolumeTof() { return m_Tof; }
63
64 /// Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;
65 TGeoVolumeAssembly *GetVolumeAssembly( int part );
66
67 /// Get scintillator volume;
68 TGeoVolume *GetVolumeScin( int part );
69
70 /// Get bucket volume;
71 TGeoVolume *GetVolumeBucket( int part );
72
73 /// Get scintillator node;
74 TGeoNode *GetScin( int part, int scin );
75
76 /// Get bucket node, 0 for west bucket, 1 for the east one;
77 TGeoNode *GetBucket( int part, int scin, int bucket );
78
79 /// Get scintillator physical node;
80 TGeoPhysicalNode *GetPhysicalScin( int part, int scin );
81
82 private:
83 static const int m_kPart = 3;
84 static const int m_kAssemblyEc = 48;
85 static const int m_kAssemblyBr = 88;
86 static const int m_kBucketEc = 1;
87 static const int m_kBucketBr = 2;
88
89 TGeoVolume *m_Tof;
90 TGeoNode *m_NodeScin[m_kPart][m_kAssemblyBr];
91 TGeoPhysicalNode *m_PhysicalScin[m_kPart][m_kAssemblyBr];
92};
93
94#endif /* TOF_ROOT_GEO_H */
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;.