BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/ROOTGeo/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
27class TofROOTGeo : public SubDetectorROOTGeo
28{
29 public:
30
31 /// Constructor.
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;
45
46 /// Set all visible;
48
49 /// Set quater visible;
51
52 /// Set the pointers to the physical nodes;
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 */
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.
int GetPartNb()
Get number of part;.
TGeoVolume * GetVolumeTof()
Get Tof volume;.
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;
TofROOTGeo()
Constructor.
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;.
~TofROOTGeo()
Destructor.
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;.
void SetAllVisible()
Set all visible;.