BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
BesGeometry Class Reference

#include <BesGeometry.h>

Inheritance diagram for BesGeometry:

Public Member Functions

 BesGeometry ()
virtual ~BesGeometry ()
virtual void InitFromGDML (const TString fPath, bool mrpc=false, bool cgem=false)
virtual void InitFromROOT (TGeoVolume *volBes)
virtual void InitGeometry ()
const char * GetFilename (const char *RunPeriod)
virtual void SetDefaultVis ()
virtual void SetPhysicalDefaultVis ()
virtual void Draw (Option_t *option="3D")
virtual void Draw3D ()
virtual void Draw2DXY ()
virtual void Draw2DZR ()
Float_t GetBesR ()
Float_t GetBesZ ()
TGeoVolume * GetVolBes ()
TGeoVolume * GetVolumeBeamPipe ()
MdcROOTGeoGetMdcROOTGeo ()
TofROOTGeoGetTofROOTGeo ()
EmcROOTGeoGetEmcROOTGeo ()
MucROOTGeoGetMucROOTGeo ()
TGeoVolume * GetVolumeMdc ()
TGeoVolume * GetVolumeMdcSegment (int segment)
TGeoVolume * GetVolumeMdcLayer (int layer)
TGeoVolume * GetVolumeMdcReplica (int layer)
TGeoPhysicalNode * GetPhysicalMdcReplica (int layer, int replica)
TGeoVolume * GetVolumeTof ()
TGeoPhysicalNode * GetPhysicalTofScin (int part, int layer, int scin)
TGeoVolume * GetVolumeEmc ()
TGeoVolume * GetVolumeEmcPart (int part)
TGeoVolume * GetVolumeEmcPhi (int part, int phi)
TGeoVolume * GetVolumeEmcTheta (int part, int phi, int theta)
TGeoVolume * GetVolumeEmcCrystal (int part, int phi, int theta)
TGeoPhysicalNode * GetPhysicalEmcCrystal (int part, int phi, int theta)
TGeoVolume * GetVolumeMuc ()
TGeoVolume * GetVolumeMucAbsorber (int part, int seg, int absorber)
TGeoVolume * GetVolumeMucAbsorberPanel (int part, int seg, int absorber, int panel)
TGeoVolume * GetVolumeMucGap (int part, int seg, int gap)
TGeoVolume * GetVolumeMucStripPlane (int part, int seg, int gap)
TGeoVolume * GetVolumeMucStrip (int part, int seg, int gap, int strip)
TGeoVolume * GetVolumeMucGasChamber (int part, int seg, int gap, int panel, int gasChamber)
TGeoVolume * GetVolumeMucBakelite (int part, int seg, int gap, int RpcUpDown, int panel, int bakelite)
TGeoPhysicalNode * GetPhysicalMucGap (int part, int seg, int gap)
TGeoPhysicalNode * GetPhysicalMucStrip (int part, int seg, int gap, int strip)
 BesGeometry ()
virtual ~BesGeometry ()
virtual void InitFromGDML (const TString fPath, bool mrpc=false, bool cgem=false)
virtual void InitFromROOT (TGeoVolume *volBes)
virtual void InitGeometry ()
const char * GetFilename (const char *RunPeriod)
virtual void SetDefaultVis ()
virtual void SetPhysicalDefaultVis ()
virtual void Draw (Option_t *option="3D")
virtual void Draw3D ()
virtual void Draw2DXY ()
virtual void Draw2DZR ()
Float_t GetBesR ()
Float_t GetBesZ ()
TGeoVolume * GetVolBes ()
TGeoVolume * GetVolumeBeamPipe ()
MdcROOTGeoGetMdcROOTGeo ()
TofROOTGeoGetTofROOTGeo ()
EmcROOTGeoGetEmcROOTGeo ()
MucROOTGeoGetMucROOTGeo ()
TGeoVolume * GetVolumeMdc ()
TGeoVolume * GetVolumeMdcSegment (int segment)
TGeoVolume * GetVolumeMdcLayer (int layer)
TGeoVolume * GetVolumeMdcReplica (int layer)
TGeoPhysicalNode * GetPhysicalMdcReplica (int layer, int replica)
TGeoVolume * GetVolumeTof ()
TGeoPhysicalNode * GetPhysicalTofScin (int part, int layer, int scin)
TGeoVolume * GetVolumeEmc ()
TGeoVolume * GetVolumeEmcPart (int part)
TGeoVolume * GetVolumeEmcPhi (int part, int phi)
TGeoVolume * GetVolumeEmcTheta (int part, int phi, int theta)
TGeoVolume * GetVolumeEmcCrystal (int part, int phi, int theta)
TGeoPhysicalNode * GetPhysicalEmcCrystal (int part, int phi, int theta)
TGeoVolume * GetVolumeMuc ()
TGeoVolume * GetVolumeMucAbsorber (int part, int seg, int absorber)
TGeoVolume * GetVolumeMucAbsorberPanel (int part, int seg, int absorber, int panel)
TGeoVolume * GetVolumeMucGap (int part, int seg, int gap)
TGeoVolume * GetVolumeMucStripPlane (int part, int seg, int gap)
TGeoVolume * GetVolumeMucStrip (int part, int seg, int gap, int strip)
TGeoVolume * GetVolumeMucGasChamber (int part, int seg, int gap, int panel, int gasChamber)
TGeoVolume * GetVolumeMucBakelite (int part, int seg, int gap, int RpcUpDown, int panel, int bakelite)
TGeoPhysicalNode * GetPhysicalMucGap (int part, int seg, int gap)
TGeoPhysicalNode * GetPhysicalMucStrip (int part, int seg, int gap, int strip)
 BesGeometry ()
virtual ~BesGeometry ()
virtual void InitFromGDML (const TString fPath, bool mrpc=false, bool cgem=false)
virtual void InitFromROOT (TGeoVolume *volBes)
virtual void InitGeometry ()
const char * GetFilename (const char *RunPeriod)
virtual void SetDefaultVis ()
virtual void SetPhysicalDefaultVis ()
virtual void Draw (Option_t *option="3D")
virtual void Draw3D ()
virtual void Draw2DXY ()
virtual void Draw2DZR ()
Float_t GetBesR ()
Float_t GetBesZ ()
TGeoVolume * GetVolBes ()
TGeoVolume * GetVolumeBeamPipe ()
MdcROOTGeoGetMdcROOTGeo ()
TofROOTGeoGetTofROOTGeo ()
EmcROOTGeoGetEmcROOTGeo ()
MucROOTGeoGetMucROOTGeo ()
TGeoVolume * GetVolumeMdc ()
TGeoVolume * GetVolumeMdcSegment (int segment)
TGeoVolume * GetVolumeMdcLayer (int layer)
TGeoVolume * GetVolumeMdcReplica (int layer)
TGeoPhysicalNode * GetPhysicalMdcReplica (int layer, int replica)
TGeoVolume * GetVolumeTof ()
TGeoPhysicalNode * GetPhysicalTofScin (int part, int layer, int scin)
TGeoVolume * GetVolumeEmc ()
TGeoVolume * GetVolumeEmcPart (int part)
TGeoVolume * GetVolumeEmcPhi (int part, int phi)
TGeoVolume * GetVolumeEmcTheta (int part, int phi, int theta)
TGeoVolume * GetVolumeEmcCrystal (int part, int phi, int theta)
TGeoPhysicalNode * GetPhysicalEmcCrystal (int part, int phi, int theta)
TGeoVolume * GetVolumeMuc ()
TGeoVolume * GetVolumeMucAbsorber (int part, int seg, int absorber)
TGeoVolume * GetVolumeMucAbsorberPanel (int part, int seg, int absorber, int panel)
TGeoVolume * GetVolumeMucGap (int part, int seg, int gap)
TGeoVolume * GetVolumeMucStripPlane (int part, int seg, int gap)
TGeoVolume * GetVolumeMucStrip (int part, int seg, int gap, int strip)
TGeoVolume * GetVolumeMucGasChamber (int part, int seg, int gap, int panel, int gasChamber)
TGeoVolume * GetVolumeMucBakelite (int part, int seg, int gap, int RpcUpDown, int panel, int bakelite)
TGeoPhysicalNode * GetPhysicalMucGap (int part, int seg, int gap)
TGeoPhysicalNode * GetPhysicalMucStrip (int part, int seg, int gap, int strip)

Detailed Description

Constructor & Destructor Documentation

◆ BesGeometry() [1/3]

BesGeometry::BesGeometry ( )

◆ ~BesGeometry() [1/3]

BesGeometry::~BesGeometry ( )
virtual

Definition at line 52 of file BesGeometry.cxx.

52 {
53 delete m_Bes;
54 delete m_BeamPipe;
55
56 delete m_MdcROOTGeo;
57 delete m_TofROOTGeo;
58 delete m_EmcROOTGeo;
59 delete m_MucROOTGeo;
60}

◆ BesGeometry() [2/3]

BesGeometry::BesGeometry ( )

◆ ~BesGeometry() [2/3]

virtual BesGeometry::~BesGeometry ( )
virtual

◆ BesGeometry() [3/3]

BesGeometry::BesGeometry ( )

◆ ~BesGeometry() [3/3]

virtual BesGeometry::~BesGeometry ( )
virtual

Member Function Documentation

◆ Draw() [1/3]

void BesGeometry::Draw ( Option_t * option = "3D")
virtual

Definition at line 310 of file BesGeometry.cxx.

310 {
311 //
312 // BesGeometry draw function
313 TString opt = option;
314 opt.ToUpper();
315
316 if ( opt.Contains( "3D" ) ) { Draw3D(); }
317 else if ( opt.Contains( "XY" ) ) { Draw2DXY(); }
318 else if ( opt.Contains( "ZR" ) ) { Draw2DZR(); }
319}
virtual void Draw2DXY()
virtual void Draw2DZR()
virtual void Draw3D()

◆ Draw() [2/3]

virtual void BesGeometry::Draw ( Option_t * option = "3D")
virtual

◆ Draw() [3/3]

virtual void BesGeometry::Draw ( Option_t * option = "3D")
virtual

◆ Draw2DXY() [1/3]

void BesGeometry::Draw2DXY ( )
virtual

Definition at line 377 of file BesGeometry.cxx.

377 {
378 BesView* view = dynamic_cast<BesView*>( gPad->GetView() );
379 // Long Peixun's update: Judge view before draw
380 if ( view )
381 {
382 if ( view->GetVisBeamPipe() ) m_BeamPipeXY->Draw();
383 if ( m_MdcROOTGeo ) m_MdcROOTGeo->Draw( "XY" );
384 if ( m_TofROOTGeo ) m_TofROOTGeo->Draw( "XY" );
385 if ( m_EmcROOTGeo ) m_EmcROOTGeo->Draw( "XY" );
386 if ( m_MucROOTGeo ) m_MucROOTGeo->Draw( "XY" );
387 if ( view->GetVisZRPlaneOnXY() ) m_ZRPlaneOnXY->Draw();
388 if ( view->GetVisAxis() ) view->ShowAxis();
389 }
390}

Referenced by Draw().

◆ Draw2DXY() [2/3]

virtual void BesGeometry::Draw2DXY ( )
virtual

◆ Draw2DXY() [3/3]

virtual void BesGeometry::Draw2DXY ( )
virtual

◆ Draw2DZR() [1/3]

void BesGeometry::Draw2DZR ( )
virtual

Definition at line 392 of file BesGeometry.cxx.

392 {
393 BesView* view = dynamic_cast<BesView*>( gPad->GetView() );
394 // Long Peixun's update: Judge view before draw
395 if ( view )
396 {
397 if ( view->GetVisBeamPipe() ) m_BeamPipeZR->Draw();
398 if ( m_MdcROOTGeo ) m_MdcROOTGeo->Draw( "ZR" );
399 if ( m_TofROOTGeo ) m_TofROOTGeo->Draw( "ZR" );
400 if ( m_EmcROOTGeo ) m_EmcROOTGeo->Draw( "ZR" );
401 if ( m_MucROOTGeo ) m_MucROOTGeo->Draw( "ZR" );
402 if ( view->GetVisAxis() ) view->ShowAxis();
403 }
404}

Referenced by Draw().

◆ Draw2DZR() [2/3]

virtual void BesGeometry::Draw2DZR ( )
virtual

◆ Draw2DZR() [3/3]

virtual void BesGeometry::Draw2DZR ( )
virtual

◆ Draw3D() [1/3]

void BesGeometry::Draw3D ( )
virtual

Definition at line 321 of file BesGeometry.cxx.

321 {
322 BesView* view = dynamic_cast<BesView*>( gPad->GetView() );
323
324 if ( view && view->GetViewType() == k3DView )
325 {
326 // Long Peixun's update: Draw Detector 3D
327 m_BeamPipe->AppendPad();
328
329 // Long Peixun's update: Set BeamPipe 3D visibility
330 if ( view->GetVisBeamPipe() ) m_phyBeamPipe->SetVisibility( 1 );
331 else m_phyBeamPipe->SetVisibility( 0 );
332
333 if ( m_MdcROOTGeo )
334 {
335 m_MdcROOTGeo->SetVisMdcDetector();
336 m_MdcROOTGeo->SetPhysicalDefaultVis(); // Long Peixun's update: Reset Color
337 m_MdcROOTGeo->SetVisMdcHits();
338 }
339
340 if ( m_TofROOTGeo )
341 {
342 m_TofROOTGeo->SetVisTofDetector();
343 m_TofROOTGeo->SetPhysicalDefaultVis(); // Long Peixun's update: Reset Color
344 m_TofROOTGeo->SetVisTofHits();
345 }
346
347 if ( m_EmcROOTGeo )
348 {
349 m_EmcROOTGeo->SetVisEmcDetector();
350 m_EmcROOTGeo->SetPhysicalDefaultVis(); // Long Peixun's update: Reset Color
351 m_EmcROOTGeo->SetVisEmcHits();
352 }
353
354 if ( m_MucROOTGeo )
355 {
356 m_MucROOTGeo->SetVisMucDetector();
357 m_MucROOTGeo->SetPhysicalDefaultVis(); // Long Peixun's update: Reset Color
358 m_MucROOTGeo->SetVisMucHits();
359 }
360 }
361
362 // if (gGeoManager) {
363 // cout << "gGeoManager exit" << endl;
364 // }
365 // else {
366 // cout << "gGeoManager do not exit" << endl;
367 // }
368
369 // if (m_Bes){
370 // cout << "m_Bes address:" << m_Bes << endl;
371 // }
372
373 // if (m_Bes) m_Bes->Draw();
374 // if (view && view->GetVisAxis()) view->ShowAxis();
375}

Referenced by Draw().

◆ Draw3D() [2/3]

virtual void BesGeometry::Draw3D ( )
virtual

◆ Draw3D() [3/3]

virtual void BesGeometry::Draw3D ( )
virtual

◆ GetBesR() [1/3]

Float_t BesGeometry::GetBesR ( )
inline

Definition at line 37 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

37{ return m_BesR; }

◆ GetBesR() [2/3]

Float_t BesGeometry::GetBesR ( )
inline

Definition at line 37 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

37{ return m_BesR; }

◆ GetBesR() [3/3]

Float_t BesGeometry::GetBesR ( )
inline

Definition at line 37 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

37{ return m_BesR; }

◆ GetBesZ() [1/3]

Float_t BesGeometry::GetBesZ ( )
inline

Definition at line 38 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

38{ return m_BesZ; }

◆ GetBesZ() [2/3]

Float_t BesGeometry::GetBesZ ( )
inline

Definition at line 38 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

38{ return m_BesZ; }

◆ GetBesZ() [3/3]

Float_t BesGeometry::GetBesZ ( )
inline

Definition at line 38 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

38{ return m_BesZ; }

◆ GetEmcROOTGeo() [1/3]

EmcROOTGeo * BesGeometry::GetEmcROOTGeo ( )
inline

Definition at line 45 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

45{ return m_EmcROOTGeo; }

◆ GetEmcROOTGeo() [2/3]

EmcROOTGeo * BesGeometry::GetEmcROOTGeo ( )
inline

Definition at line 45 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

45{ return m_EmcROOTGeo; }

◆ GetEmcROOTGeo() [3/3]

EmcROOTGeo * BesGeometry::GetEmcROOTGeo ( )
inline

Definition at line 45 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

45{ return m_EmcROOTGeo; }

◆ GetFilename() [1/3]

const char * BesGeometry::GetFilename ( const char * RunPeriod)

Definition at line 286 of file BesGeometry.cxx.

286{ return RunPeriod; }

◆ GetFilename() [2/3]

const char * BesGeometry::GetFilename ( const char * RunPeriod)

◆ GetFilename() [3/3]

const char * BesGeometry::GetFilename ( const char * RunPeriod)

◆ GetMdcROOTGeo() [1/3]

MdcROOTGeo * BesGeometry::GetMdcROOTGeo ( )
inline

Definition at line 43 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

43{ return m_MdcROOTGeo; }

◆ GetMdcROOTGeo() [2/3]

MdcROOTGeo * BesGeometry::GetMdcROOTGeo ( )
inline

Definition at line 43 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

43{ return m_MdcROOTGeo; }

◆ GetMdcROOTGeo() [3/3]

MdcROOTGeo * BesGeometry::GetMdcROOTGeo ( )
inline

Definition at line 43 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

43{ return m_MdcROOTGeo; }

◆ GetMucROOTGeo() [1/3]

MucROOTGeo * BesGeometry::GetMucROOTGeo ( )
inline

Definition at line 46 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

46{ return m_MucROOTGeo; }

◆ GetMucROOTGeo() [2/3]

MucROOTGeo * BesGeometry::GetMucROOTGeo ( )
inline

Definition at line 46 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

46{ return m_MucROOTGeo; }

◆ GetMucROOTGeo() [3/3]

MucROOTGeo * BesGeometry::GetMucROOTGeo ( )
inline

Definition at line 46 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

46{ return m_MucROOTGeo; }

◆ GetPhysicalEmcCrystal() [1/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalEmcCrystal ( int part,
int phi,
int theta )
inline

Definition at line 80 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

80 {
81 return m_EmcROOTGeo->GetPhysicalCrystal( part, phi, theta );
82 }

◆ GetPhysicalEmcCrystal() [2/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalEmcCrystal ( int part,
int phi,
int theta )
inline

Definition at line 80 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

80 {
81 return m_EmcROOTGeo->GetPhysicalCrystal( part, phi, theta );
82 }

◆ GetPhysicalEmcCrystal() [3/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalEmcCrystal ( int part,
int phi,
int theta )
inline

Definition at line 80 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

80 {
81 return m_EmcROOTGeo->GetPhysicalCrystal( part, phi, theta );
82 }

◆ GetPhysicalMdcReplica() [1/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalMdcReplica ( int layer,
int replica )
inline

Definition at line 56 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

56 {
57 return m_MdcROOTGeo->GetPhysicalReplica( layer, replica );
58 }

◆ GetPhysicalMdcReplica() [2/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalMdcReplica ( int layer,
int replica )
inline

Definition at line 56 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

56 {
57 return m_MdcROOTGeo->GetPhysicalReplica( layer, replica );
58 }

◆ GetPhysicalMdcReplica() [3/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalMdcReplica ( int layer,
int replica )
inline

Definition at line 56 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

56 {
57 return m_MdcROOTGeo->GetPhysicalReplica( layer, replica );
58 }

◆ GetPhysicalMucGap() [1/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalMucGap ( int part,
int seg,
int gap )
inline

Definition at line 107 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

107 {
108 return m_MucROOTGeo->GetPhysicalGap( part, seg, gap );
109 }

◆ GetPhysicalMucGap() [2/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalMucGap ( int part,
int seg,
int gap )
inline

Definition at line 107 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

107 {
108 return m_MucROOTGeo->GetPhysicalGap( part, seg, gap );
109 }

◆ GetPhysicalMucGap() [3/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalMucGap ( int part,
int seg,
int gap )
inline

Definition at line 107 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

107 {
108 return m_MucROOTGeo->GetPhysicalGap( part, seg, gap );
109 }

◆ GetPhysicalMucStrip() [1/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalMucStrip ( int part,
int seg,
int gap,
int strip )
inline

Definition at line 110 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

110 {
111 return m_MucROOTGeo->GetPhysicalStrip( part, seg, gap, strip );
112 }

◆ GetPhysicalMucStrip() [2/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalMucStrip ( int part,
int seg,
int gap,
int strip )
inline

Definition at line 110 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

110 {
111 return m_MucROOTGeo->GetPhysicalStrip( part, seg, gap, strip );
112 }

◆ GetPhysicalMucStrip() [3/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalMucStrip ( int part,
int seg,
int gap,
int strip )
inline

Definition at line 110 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

110 {
111 return m_MucROOTGeo->GetPhysicalStrip( part, seg, gap, strip );
112 }

◆ GetPhysicalTofScin() [1/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalTofScin ( int part,
int layer,
int scin )
inline

Definition at line 65 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

65 {
66 return m_TofROOTGeo->GetPhysicalScin( part, layer, scin );
67 }

◆ GetPhysicalTofScin() [2/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalTofScin ( int part,
int layer,
int scin )
inline

Definition at line 65 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

65 {
66 return m_TofROOTGeo->GetPhysicalScin( part, layer, scin );
67 }

◆ GetPhysicalTofScin() [3/3]

TGeoPhysicalNode * BesGeometry::GetPhysicalTofScin ( int part,
int layer,
int scin )
inline

Definition at line 65 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

65 {
66 return m_TofROOTGeo->GetPhysicalScin( part, layer, scin );
67 }

◆ GetTofROOTGeo() [1/3]

TofROOTGeo * BesGeometry::GetTofROOTGeo ( )
inline

Definition at line 44 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

44{ return m_TofROOTGeo; }

◆ GetTofROOTGeo() [2/3]

TofROOTGeo * BesGeometry::GetTofROOTGeo ( )
inline

Definition at line 44 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

44{ return m_TofROOTGeo; }

◆ GetTofROOTGeo() [3/3]

TofROOTGeo * BesGeometry::GetTofROOTGeo ( )
inline

Definition at line 44 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

44{ return m_TofROOTGeo; }

◆ GetVolBes() [1/3]

TGeoVolume * BesGeometry::GetVolBes ( )
inline

Definition at line 40 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

40{ return m_Bes; }

◆ GetVolBes() [2/3]

TGeoVolume * BesGeometry::GetVolBes ( )
inline

Definition at line 40 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

40{ return m_Bes; }

◆ GetVolBes() [3/3]

TGeoVolume * BesGeometry::GetVolBes ( )
inline

Definition at line 40 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

40{ return m_Bes; }

◆ GetVolumeBeamPipe() [1/3]

TGeoVolume * BesGeometry::GetVolumeBeamPipe ( )
inline

Definition at line 41 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

41{ return m_BeamPipe; }

◆ GetVolumeBeamPipe() [2/3]

TGeoVolume * BesGeometry::GetVolumeBeamPipe ( )
inline

Definition at line 41 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

41{ return m_BeamPipe; }

◆ GetVolumeBeamPipe() [3/3]

TGeoVolume * BesGeometry::GetVolumeBeamPipe ( )
inline

Definition at line 41 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

41{ return m_BeamPipe; }

◆ GetVolumeEmc() [1/3]

TGeoVolume * BesGeometry::GetVolumeEmc ( )
inline

Definition at line 69 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

69{ return m_EmcROOTGeo->GetVolumeEmc(); }

◆ GetVolumeEmc() [2/3]

TGeoVolume * BesGeometry::GetVolumeEmc ( )
inline

Definition at line 69 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

69{ return m_EmcROOTGeo->GetVolumeEmc(); }

◆ GetVolumeEmc() [3/3]

TGeoVolume * BesGeometry::GetVolumeEmc ( )
inline

Definition at line 69 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

69{ return m_EmcROOTGeo->GetVolumeEmc(); }

◆ GetVolumeEmcCrystal() [1/3]

TGeoVolume * BesGeometry::GetVolumeEmcCrystal ( int part,
int phi,
int theta )
inline

Definition at line 77 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

77 {
78 return m_EmcROOTGeo->GetVolumeCrystal( part, phi, theta );
79 }

◆ GetVolumeEmcCrystal() [2/3]

TGeoVolume * BesGeometry::GetVolumeEmcCrystal ( int part,
int phi,
int theta )
inline

Definition at line 77 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

77 {
78 return m_EmcROOTGeo->GetVolumeCrystal( part, phi, theta );
79 }

◆ GetVolumeEmcCrystal() [3/3]

TGeoVolume * BesGeometry::GetVolumeEmcCrystal ( int part,
int phi,
int theta )
inline

Definition at line 77 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

77 {
78 return m_EmcROOTGeo->GetVolumeCrystal( part, phi, theta );
79 }

◆ GetVolumeEmcPart() [1/3]

TGeoVolume * BesGeometry::GetVolumeEmcPart ( int part)
inline

Definition at line 70 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

70{ return m_EmcROOTGeo->GetVolumePart( part ); }

◆ GetVolumeEmcPart() [2/3]

TGeoVolume * BesGeometry::GetVolumeEmcPart ( int part)
inline

Definition at line 70 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

70{ return m_EmcROOTGeo->GetVolumePart( part ); }

◆ GetVolumeEmcPart() [3/3]

TGeoVolume * BesGeometry::GetVolumeEmcPart ( int part)
inline

Definition at line 70 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

70{ return m_EmcROOTGeo->GetVolumePart( part ); }

◆ GetVolumeEmcPhi() [1/3]

TGeoVolume * BesGeometry::GetVolumeEmcPhi ( int part,
int phi )
inline

Definition at line 71 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

71 {
72 return m_EmcROOTGeo->GetVolumePhi( part, phi );
73 }

◆ GetVolumeEmcPhi() [2/3]

TGeoVolume * BesGeometry::GetVolumeEmcPhi ( int part,
int phi )
inline

Definition at line 71 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

71 {
72 return m_EmcROOTGeo->GetVolumePhi( part, phi );
73 }

◆ GetVolumeEmcPhi() [3/3]

TGeoVolume * BesGeometry::GetVolumeEmcPhi ( int part,
int phi )
inline

Definition at line 71 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

71 {
72 return m_EmcROOTGeo->GetVolumePhi( part, phi );
73 }

◆ GetVolumeEmcTheta() [1/3]

TGeoVolume * BesGeometry::GetVolumeEmcTheta ( int part,
int phi,
int theta )
inline

Definition at line 74 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

74 {
75 return m_EmcROOTGeo->GetVolumeTheta( part, phi, theta );
76 }

◆ GetVolumeEmcTheta() [2/3]

TGeoVolume * BesGeometry::GetVolumeEmcTheta ( int part,
int phi,
int theta )
inline

Definition at line 74 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

74 {
75 return m_EmcROOTGeo->GetVolumeTheta( part, phi, theta );
76 }

◆ GetVolumeEmcTheta() [3/3]

TGeoVolume * BesGeometry::GetVolumeEmcTheta ( int part,
int phi,
int theta )
inline

Definition at line 74 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

74 {
75 return m_EmcROOTGeo->GetVolumeTheta( part, phi, theta );
76 }

◆ GetVolumeMdc() [1/3]

TGeoVolume * BesGeometry::GetVolumeMdc ( )
inline

Definition at line 48 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

48{ return m_MdcROOTGeo->GetVolumeMdc(); }

◆ GetVolumeMdc() [2/3]

TGeoVolume * BesGeometry::GetVolumeMdc ( )
inline

Definition at line 48 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

48{ return m_MdcROOTGeo->GetVolumeMdc(); }

◆ GetVolumeMdc() [3/3]

TGeoVolume * BesGeometry::GetVolumeMdc ( )
inline

Definition at line 48 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

48{ return m_MdcROOTGeo->GetVolumeMdc(); }

◆ GetVolumeMdcLayer() [1/3]

TGeoVolume * BesGeometry::GetVolumeMdcLayer ( int layer)
inline

Definition at line 52 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

52{ return m_MdcROOTGeo->GetVolumeLayer( layer ); }

◆ GetVolumeMdcLayer() [2/3]

TGeoVolume * BesGeometry::GetVolumeMdcLayer ( int layer)
inline

Definition at line 52 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

52{ return m_MdcROOTGeo->GetVolumeLayer( layer ); }

◆ GetVolumeMdcLayer() [3/3]

TGeoVolume * BesGeometry::GetVolumeMdcLayer ( int layer)
inline

Definition at line 52 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

52{ return m_MdcROOTGeo->GetVolumeLayer( layer ); }

◆ GetVolumeMdcReplica() [1/3]

TGeoVolume * BesGeometry::GetVolumeMdcReplica ( int layer)
inline

Definition at line 53 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

53 {
54 return m_MdcROOTGeo->GetVolumeReplica( layer );
55 }

◆ GetVolumeMdcReplica() [2/3]

TGeoVolume * BesGeometry::GetVolumeMdcReplica ( int layer)
inline

Definition at line 53 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

53 {
54 return m_MdcROOTGeo->GetVolumeReplica( layer );
55 }

◆ GetVolumeMdcReplica() [3/3]

TGeoVolume * BesGeometry::GetVolumeMdcReplica ( int layer)
inline

Definition at line 53 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

53 {
54 return m_MdcROOTGeo->GetVolumeReplica( layer );
55 }

◆ GetVolumeMdcSegment() [1/3]

TGeoVolume * BesGeometry::GetVolumeMdcSegment ( int segment)
inline

Definition at line 49 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

49 {
50 return m_MdcROOTGeo->GetVolumeSegment( segment );
51 }

◆ GetVolumeMdcSegment() [2/3]

TGeoVolume * BesGeometry::GetVolumeMdcSegment ( int segment)
inline

Definition at line 49 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

49 {
50 return m_MdcROOTGeo->GetVolumeSegment( segment );
51 }

◆ GetVolumeMdcSegment() [3/3]

TGeoVolume * BesGeometry::GetVolumeMdcSegment ( int segment)
inline

Definition at line 49 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

49 {
50 return m_MdcROOTGeo->GetVolumeSegment( segment );
51 }

◆ GetVolumeMuc() [1/3]

TGeoVolume * BesGeometry::GetVolumeMuc ( )
inline

Definition at line 84 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

84{ return m_MucROOTGeo->GetVolumeMuc(); }

◆ GetVolumeMuc() [2/3]

TGeoVolume * BesGeometry::GetVolumeMuc ( )
inline

Definition at line 84 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

84{ return m_MucROOTGeo->GetVolumeMuc(); }

◆ GetVolumeMuc() [3/3]

TGeoVolume * BesGeometry::GetVolumeMuc ( )
inline

Definition at line 84 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

84{ return m_MucROOTGeo->GetVolumeMuc(); }

◆ GetVolumeMucAbsorber() [1/3]

TGeoVolume * BesGeometry::GetVolumeMucAbsorber ( int part,
int seg,
int absorber )
inline

Definition at line 85 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

85 {
86 return m_MucROOTGeo->GetVolumeAbsorber( part, seg, absorber );
87 }

◆ GetVolumeMucAbsorber() [2/3]

TGeoVolume * BesGeometry::GetVolumeMucAbsorber ( int part,
int seg,
int absorber )
inline

Definition at line 85 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

85 {
86 return m_MucROOTGeo->GetVolumeAbsorber( part, seg, absorber );
87 }

◆ GetVolumeMucAbsorber() [3/3]

TGeoVolume * BesGeometry::GetVolumeMucAbsorber ( int part,
int seg,
int absorber )
inline

Definition at line 85 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

85 {
86 return m_MucROOTGeo->GetVolumeAbsorber( part, seg, absorber );
87 }

◆ GetVolumeMucAbsorberPanel() [1/3]

TGeoVolume * BesGeometry::GetVolumeMucAbsorberPanel ( int part,
int seg,
int absorber,
int panel )
inline

Definition at line 88 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

88 {
89 return m_MucROOTGeo->GetVolumeAbsorberPanel( part, seg, absorber, panel );
90 }

◆ GetVolumeMucAbsorberPanel() [2/3]

TGeoVolume * BesGeometry::GetVolumeMucAbsorberPanel ( int part,
int seg,
int absorber,
int panel )
inline

Definition at line 88 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

88 {
89 return m_MucROOTGeo->GetVolumeAbsorberPanel( part, seg, absorber, panel );
90 }

◆ GetVolumeMucAbsorberPanel() [3/3]

TGeoVolume * BesGeometry::GetVolumeMucAbsorberPanel ( int part,
int seg,
int absorber,
int panel )
inline

Definition at line 88 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

88 {
89 return m_MucROOTGeo->GetVolumeAbsorberPanel( part, seg, absorber, panel );
90 }

◆ GetVolumeMucBakelite() [1/3]

TGeoVolume * BesGeometry::GetVolumeMucBakelite ( int part,
int seg,
int gap,
int RpcUpDown,
int panel,
int bakelite )
inline

Definition at line 103 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

104 {
105 return m_MucROOTGeo->GetVolumeBakelite( part, seg, gap, RpcUpDown, panel, bakelite );
106 }

◆ GetVolumeMucBakelite() [2/3]

TGeoVolume * BesGeometry::GetVolumeMucBakelite ( int part,
int seg,
int gap,
int RpcUpDown,
int panel,
int bakelite )
inline

Definition at line 103 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

104 {
105 return m_MucROOTGeo->GetVolumeBakelite( part, seg, gap, RpcUpDown, panel, bakelite );
106 }

◆ GetVolumeMucBakelite() [3/3]

TGeoVolume * BesGeometry::GetVolumeMucBakelite ( int part,
int seg,
int gap,
int RpcUpDown,
int panel,
int bakelite )
inline

Definition at line 103 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

104 {
105 return m_MucROOTGeo->GetVolumeBakelite( part, seg, gap, RpcUpDown, panel, bakelite );
106 }

◆ GetVolumeMucGap() [1/3]

TGeoVolume * BesGeometry::GetVolumeMucGap ( int part,
int seg,
int gap )
inline

Definition at line 91 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

91 {
92 return m_MucROOTGeo->GetVolumeGap( part, seg, gap );
93 }

◆ GetVolumeMucGap() [2/3]

TGeoVolume * BesGeometry::GetVolumeMucGap ( int part,
int seg,
int gap )
inline

Definition at line 91 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

91 {
92 return m_MucROOTGeo->GetVolumeGap( part, seg, gap );
93 }

◆ GetVolumeMucGap() [3/3]

TGeoVolume * BesGeometry::GetVolumeMucGap ( int part,
int seg,
int gap )
inline

Definition at line 91 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

91 {
92 return m_MucROOTGeo->GetVolumeGap( part, seg, gap );
93 }

◆ GetVolumeMucGasChamber() [1/3]

TGeoVolume * BesGeometry::GetVolumeMucGasChamber ( int part,
int seg,
int gap,
int panel,
int gasChamber )
inline

Definition at line 100 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

100 {
101 return m_MucROOTGeo->GetVolumeGasChamber( part, seg, gap, panel, gasChamber );
102 }

◆ GetVolumeMucGasChamber() [2/3]

TGeoVolume * BesGeometry::GetVolumeMucGasChamber ( int part,
int seg,
int gap,
int panel,
int gasChamber )
inline

Definition at line 100 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

100 {
101 return m_MucROOTGeo->GetVolumeGasChamber( part, seg, gap, panel, gasChamber );
102 }

◆ GetVolumeMucGasChamber() [3/3]

TGeoVolume * BesGeometry::GetVolumeMucGasChamber ( int part,
int seg,
int gap,
int panel,
int gasChamber )
inline

Definition at line 100 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

100 {
101 return m_MucROOTGeo->GetVolumeGasChamber( part, seg, gap, panel, gasChamber );
102 }

◆ GetVolumeMucStrip() [1/3]

TGeoVolume * BesGeometry::GetVolumeMucStrip ( int part,
int seg,
int gap,
int strip )
inline

Definition at line 97 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

97 {
98 return m_MucROOTGeo->GetVolumeStripPlane( part, seg, gap );
99 }

◆ GetVolumeMucStrip() [2/3]

TGeoVolume * BesGeometry::GetVolumeMucStrip ( int part,
int seg,
int gap,
int strip )
inline

Definition at line 97 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

97 {
98 return m_MucROOTGeo->GetVolumeStripPlane( part, seg, gap );
99 }

◆ GetVolumeMucStrip() [3/3]

TGeoVolume * BesGeometry::GetVolumeMucStrip ( int part,
int seg,
int gap,
int strip )
inline

Definition at line 97 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

97 {
98 return m_MucROOTGeo->GetVolumeStripPlane( part, seg, gap );
99 }

◆ GetVolumeMucStripPlane() [1/3]

TGeoVolume * BesGeometry::GetVolumeMucStripPlane ( int part,
int seg,
int gap )
inline

Definition at line 94 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

94 {
95 return m_MucROOTGeo->GetVolumeStripPlane( part, seg, gap );
96 }

◆ GetVolumeMucStripPlane() [2/3]

TGeoVolume * BesGeometry::GetVolumeMucStripPlane ( int part,
int seg,
int gap )
inline

Definition at line 94 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

94 {
95 return m_MucROOTGeo->GetVolumeStripPlane( part, seg, gap );
96 }

◆ GetVolumeMucStripPlane() [3/3]

TGeoVolume * BesGeometry::GetVolumeMucStripPlane ( int part,
int seg,
int gap )
inline

Definition at line 94 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

94 {
95 return m_MucROOTGeo->GetVolumeStripPlane( part, seg, gap );
96 }

◆ GetVolumeTof() [1/3]

TGeoVolume * BesGeometry::GetVolumeTof ( )
inline

Definition at line 60 of file EventDisplay/BesVisLib/include/BesVisLib/BesGeometry.h.

60{ return m_TofROOTGeo->GetVolumeTof(); }

◆ GetVolumeTof() [2/3]

TGeoVolume * BesGeometry::GetVolumeTof ( )
inline

Definition at line 60 of file InstallArea/x86_64-el9-gcc13-dbg/include/BesVisLib/BesGeometry.h.

60{ return m_TofROOTGeo->GetVolumeTof(); }

◆ GetVolumeTof() [3/3]

TGeoVolume * BesGeometry::GetVolumeTof ( )
inline

Definition at line 60 of file InstallArea/x86_64-el9-gcc13-opt/include/BesVisLib/BesGeometry.h.

60{ return m_TofROOTGeo->GetVolumeTof(); }

◆ InitFromGDML() [1/3]

void BesGeometry::InitFromGDML ( const TString fPath,
bool mrpc = false,
bool cgem = false )
virtual

Definition at line 62 of file BesGeometry.cxx.

62 {
63 gGeoManager->SetVisOption( 0 ); // to show all visible volumes.
64 gGeoManager->SetVisLevel( 5 );
65
66 TGeoIdentity* identity = new TGeoIdentity();
67
68 TGeoMaterial* mat = new TGeoMaterial( "VOID", 0, 0, 0 );
69 mat->SetTransparency( 20 );
70 TGeoMedium* med = new TGeoMedium( "MED", 1, mat );
71 m_Bes = gGeoManager->MakeBox( "volBes", med, m_BesR, m_BesR, 0.5 * m_BesZ );
72
73 TGeoVolume* topVolume = new TGeoVolume(); // temp top volume for load geometry more than once
74 gGeoManager->SetTopVolume( topVolume );
75 gGeoManager->SetTopVolume( m_Bes );
76
77 Int_t iChildNo = 0;
78 m_MdcROOTGeo = new MdcROOTGeo( false );
79 m_MdcROOTGeo->InitFromGDML( ( fPath + TString( "Mdc.gdml" ) ).Data(),
80 "Default" ); // Long Peixun's update: "Mdc"->"Default"
81 cout << "in BesGeometry construct mdc1" << endl;
82 m_Mdc = m_MdcROOTGeo->GetVolumeMdc();
83 if ( m_Mdc ) cout << "Construct Mdc" << endl;
84 else cout << "Volume Mdc not found " << endl;
85 m_Bes->AddNode( m_Mdc, iChildNo, identity );
86 m_MdcROOTGeo->SetChildNo( iChildNo ); // Connect bes with mdc, form physcialnode path.
87 // m_Bes->GetNdaughters()-1
88
89 iChildNo++;
90 m_TofROOTGeo = new TofROOTGeo();
91
92 // Long Peixun's update: Judge MRPC flag and load relevant Tof GDML
93 if ( mrpc )
94 m_TofROOTGeo->InitFromGDML( ( fPath + TString( "Tof_mrpc.gdml" ) ).Data(),
95 "Default" ); // Huang Shuhui's update: for Tof_mrpc
96 else
97 m_TofROOTGeo->InitFromGDML( ( fPath + TString( "Tof.gdml" ) ).Data(),
98 "Default" ); // Long Peixun's update: "Tof"->"Default"
99
100 cout << "construct tof" << endl;
101 m_Tof = m_TofROOTGeo->GetVolumeTof();
102 if ( m_Tof ) cout << "Construct Tof" << endl;
103 else cout << "Volume Tof not found " << endl;
104 m_Bes->AddNode( m_Tof, iChildNo, identity );
105 m_TofROOTGeo->SetChildNo( iChildNo );
106
107 iChildNo++;
108 m_EmcROOTGeo = new EmcROOTGeo();
109 m_EmcROOTGeo->InitFromGDML( ( fPath + TString( "Emc.gdml" ) ).Data(),
110 "Default" ); // Long Peixun's update: "Emc"->"Default"
111 m_Emc = m_EmcROOTGeo->GetVolumeEmc();
112 if ( m_Emc ) cout << "Construct Emc" << endl;
113 else cout << "Volume Emc not found " << endl;
114 m_Bes->AddNode( m_Emc, iChildNo, identity );
115 m_EmcROOTGeo->SetChildNo( iChildNo );
116
117 iChildNo++;
118 m_MucROOTGeo = new MucROOTGeo();
119 m_MucROOTGeo->InitFromGDML( ( fPath + TString( "Muc.gdml" ) ).Data(),
120 "Default" ); // Long Peixun's update: "Muc"->"Default"
121 m_Muc = m_MucROOTGeo->GetVolumeMuc();
122 if ( m_Muc ) cout << "Construct Muc" << endl;
123 else cout << "Volume Muc not found " << endl;
124 m_Bes->AddNode( m_Muc, iChildNo, identity );
125 m_MucROOTGeo->SetChildNo( iChildNo );
126
127 iChildNo++;
128 Int_t beamPipeColor = m_BeamPipeColor; // Long Peixun's update: Blue -> m_BeamPipeColor
129 m_BeamPipe =
130 gGeoManager->MakeTube( "volBeamPipe", med, m_BeamPipeRMin, m_BeamPipeRMax, m_BeamPipeZ );
131 m_BeamPipe->SetLineColor( beamPipeColor );
132 m_Bes->AddNode( m_BeamPipe, iChildNo, identity );
133
134 Int_t nDaughters = m_Bes->GetNodes()->GetEntries();
135 cout << "volBes contains " << nDaughters << " nodes : " << endl;
136 for ( Int_t i = 0; i < nDaughters; i++ )
137 { cout << i << " : " << m_Bes->GetNode( i )->GetName() << endl; }
138
139 InitGeometry();
140}
virtual void InitGeometry()

◆ InitFromGDML() [2/3]

virtual void BesGeometry::InitFromGDML ( const TString fPath,
bool mrpc = false,
bool cgem = false )
virtual

◆ InitFromGDML() [3/3]

virtual void BesGeometry::InitFromGDML ( const TString fPath,
bool mrpc = false,
bool cgem = false )
virtual

◆ InitFromROOT() [1/3]

void BesGeometry::InitFromROOT ( TGeoVolume * volBes)
virtual

Definition at line 142 of file BesGeometry.cxx.

142 {
143 gGeoManager->SetVisOption( 0 ); // to show all visible volumes.
144 gGeoManager->SetVisLevel( 5 );
145
146 m_Bes = volBes;
147 m_BesR = ( (TGeoBBox*)m_Bes->GetShape() )->GetDX();
148 m_BesZ = ( (TGeoBBox*)m_Bes->GetShape() )->GetDZ() * 2.0;
149
150 TGeoVolume* topVolume = new TGeoVolume();
151 gGeoManager->SetTopVolume( topVolume );
152 gGeoManager->SetTopVolume( m_Bes );
153
154 Int_t nDaughters = m_Bes->GetNodes()->GetEntries();
155
156 // cout << "volBes contains " << nDaughters << " nodes : " << endl;
157 // for (Int_t i = 0; i < nDaughters; i++) {
158 // cout << i << " : " << m_Bes->GetNode(i)->GetName() << endl;
159 // }
160
161 Int_t iChildNo = 0;
162 m_MdcROOTGeo = new MdcROOTGeo( false );
163 TGeoNode* nodeMdc = m_Bes->GetNode( iChildNo );
164 if ( nodeMdc ) m_Mdc = nodeMdc->GetVolume();
165 // else cout << "Node logicalMdc not found" << endl;
166 // if (m_Mdc) cout << "Set Mdc" << endl;
167 // else cout << "Volume Mdc not found " << endl;
168 m_MdcROOTGeo->InitFromROOT( m_Mdc );
169 m_MdcROOTGeo->SetChildNo( iChildNo ); // Connect bes with mdc, form physcialnode path.
170 // m_Bes->GetNdaughters()-1
171
172 iChildNo++;
173 m_TofROOTGeo = new TofROOTGeo();
174 TGeoNode* nodeTof = m_Bes->GetNode( iChildNo );
175 if ( nodeTof ) m_Tof = nodeTof->GetVolume();
176 // else cout << "Node logicalTof not found" << endl;
177 // if (m_Tof) cout << "Set Tof" << endl;
178 // else cout << "Volume Tof not found " << endl;
179 m_TofROOTGeo->InitFromROOT( m_Tof );
180 m_TofROOTGeo->SetChildNo( iChildNo );
181
182 iChildNo++;
183 m_EmcROOTGeo = new EmcROOTGeo();
184 TGeoNode* nodeEmc = m_Bes->GetNode( iChildNo );
185 if ( nodeEmc ) m_Emc = nodeEmc->GetVolume();
186 // else cout << "Node logicalEmc not found" << endl;
187 // if (m_Emc) cout << "Set Emc" << endl;
188 // else cout << "Volume Emc not found " << endl;
189 m_EmcROOTGeo->InitFromROOT( m_Emc );
190 m_EmcROOTGeo->SetChildNo( iChildNo );
191
192 iChildNo++;
193 m_MucROOTGeo = new MucROOTGeo();
194 TGeoNode* nodeMuc = m_Bes->GetNode( iChildNo );
195 if ( nodeMuc ) m_Muc = nodeMuc->GetVolume();
196 // else cout << "Node logicalMuc not found" << endl;
197 // if (m_Muc) cout << "Set Muc" << endl;
198 // else cout << "Volume Muc not found " << endl;
199 m_MucROOTGeo->InitFromROOT( m_Muc );
200 m_MucROOTGeo->SetChildNo( iChildNo );
201
202 iChildNo++;
203 TGeoNode* nodeBeamPipe = m_Bes->GetNode( iChildNo );
204 if ( nodeBeamPipe )
205 {
206 m_BeamPipe = nodeBeamPipe->GetVolume();
207 m_BeamPipe->SetLineColor( m_BeamPipeColor ); // Long Peixun's update: Blue ->
208 // m_BeamPipeColor
209 }
210 // else cout << "Node volBeamPipe not found " << endl;
211 // cout << "Set beanmpi complete" << endl;
212
213 InitGeometry();
214 // cout << "init root ok" << endl;
215}

◆ InitFromROOT() [2/3]

virtual void BesGeometry::InitFromROOT ( TGeoVolume * volBes)
virtual

◆ InitFromROOT() [3/3]

virtual void BesGeometry::InitFromROOT ( TGeoVolume * volBes)
virtual

◆ InitGeometry() [1/3]

void BesGeometry::InitGeometry ( )
virtual

Definition at line 217 of file BesGeometry.cxx.

217 {
218 gGeoManager->SetDrawExtraPaths(); // draw physical node or not;
219 gGeoManager->CloseGeometry();
220 gGeoManager->SetNsegments( 20 ); // devide a circle to 20 slides
221
222 // PhysicalNode necessary for fast setting node visible or not in an event
223 // Should be set after gGeoManager closed
224 m_MdcROOTGeo->SetPhysicalNode(); // here liang
225 m_TofROOTGeo->SetPhysicalNode(); // here liang
226 m_EmcROOTGeo->SetPhysicalNode(); // here liang
227 m_MucROOTGeo->SetPhysicalNode();
228
229 // Long Peixun's update: Build BeamPipe's PhysicalNode to display 3D view
230 m_phyBeamPipe =
231 gGeoManager->MakePhysicalNode( TString( "/" ) + m_Bes->GetName() + TString( "_1/" ) +
232 m_BeamPipe->GetName() + TString( "_4" ) );
233 m_phyBeamPipe->SetVisibility( 0 );
234 m_phyBeamPipe->SetIsVolAtt( kFALSE );
235 m_phyBeamPipe->SetLineColor( m_BeamPipeColor ); // Long Peixun's update: Blue ->
236 // m_BeamPipeColor
237
238 // 2D Geometry initialization should be after SetPhysicalNode();
239 // Long Peixun's update: Change initialization order of subdetectors can avoid a strange bug
240 // in Mdc2DWire::DistancetoPrimitive() Mdc, Tof, Emu, Muc -> Tof, Mdc, Emc, Muc
241 m_TofROOTGeo->Init2DGeometry(); // here liang
242 m_MdcROOTGeo->Init2DGeometry(); // here liang
243 m_EmcROOTGeo->Init2DGeometry(); // here liang
244 m_MucROOTGeo->Init2DGeometry();
245
246 Double_t P[3 * 4] = { 0.0 };
247
248 // BeamPipe
249 Double_t beamPipeCenter[3] = { 0.0, 0.0, 0.0 };
250 m_BeamPipeXY = new BesCircle2D( "BeamPipe", "BeamPipe", m_BeamPipeRMin, m_BeamPipeRMax,
251 &beamPipeCenter[0] );
252
253 for ( Int_t i = 0; i < 4; i++ )
254 {
255 P[3 * i] = 0.0;
256 if ( i == 0 || i == 3 ) P[3 * i + 1] = -1.0 * m_BeamPipeRMax;
257 else P[3 * i + 1] = m_BeamPipeRMax;
258 if ( i == 0 || i == 1 ) P[3 * i + 2] = -1.0 * m_BeamPipeZ;
259 else P[3 * i + 2] = m_BeamPipeZ;
260 }
261 m_BeamPipeZR = new BesPolygon2D( "BeamPipe", "BeamPipe", 4, &P[0] );
262 m_BeamPipeZR->SetRotatable( true ); // Long Peixun's update: BeamPipe rectangle should not
263 // rotate when phi is changed
264
265 // Auxiliary line
266 if ( !m_Bes ) cout << "BesGeometry:InitGeometry, top volume m_Bes not found" << endl;
267 TGeoBBox* besShape = (TGeoBBox*)m_Bes->GetShape();
268 m_BesR = besShape->GetDX();
269 m_BesZ = besShape->GetDZ() * 2.0;
270 for ( Int_t i = 0; i < 4; i++ )
271 {
272 P[3 * i] = 0.0;
273 if ( i == 0 || i == 3 ) P[3 * i + 1] = -1.0 * m_BesR;
274 else P[3 * i + 1] = m_BesR;
275 if ( i == 0 || i == 1 ) P[3 * i + 2] = -1.0 * m_BesZ;
276 else P[3 * i + 2] = m_BesZ;
277 }
278
279 m_ZRPlaneOnXY = new BesPolygon2D( "ZRPlaneOnXY", "ZRPlaneOnXY", 4, &P[0] );
280 m_ZRPlaneOnXY->SetRotatable( true );
281 m_ZRPlaneOnXY->SetLineWidth( 1 );
282 m_ZRPlaneOnXY->SetLineStyle( 3 );
283 m_ZRPlaneOnXY->SetFillStyle( 4000 );
284}
double P(RecMdcKalTrack *trk)

Referenced by InitFromGDML(), and InitFromROOT().

◆ InitGeometry() [2/3]

virtual void BesGeometry::InitGeometry ( )
virtual

◆ InitGeometry() [3/3]

virtual void BesGeometry::InitGeometry ( )
virtual

◆ SetDefaultVis() [1/3]

void BesGeometry::SetDefaultVis ( )
virtual

Definition at line 288 of file BesGeometry.cxx.

288 {
289 m_Bes->SetLineColor( 2 );
290 m_Bes->SetVisibility( 0 );
291
292 m_BeamPipe->SetLineColor( m_BeamPipeColor ); // Long Peixun's update: Blue -> m_BeamPipeColor
293 m_BeamPipe->SetVisibility( 0 );
294
295 // Long Peixun's update: Annotate useless code
296 // m_MdcROOTGeo->SetAllVisible();
297 // m_TofROOTGeo->SetAllVisible();
298 // m_EmcROOTGeo->SetAllVisible();
299 // m_MucROOTGeo->SetAllVisible();
300}

◆ SetDefaultVis() [2/3]

virtual void BesGeometry::SetDefaultVis ( )
virtual

◆ SetDefaultVis() [3/3]

virtual void BesGeometry::SetDefaultVis ( )
virtual

◆ SetPhysicalDefaultVis() [1/3]

void BesGeometry::SetPhysicalDefaultVis ( )
virtual

Definition at line 303 of file BesGeometry.cxx.

303 {
304 m_MdcROOTGeo->SetPhysicalDefaultVis();
305 m_TofROOTGeo->SetPhysicalDefaultVis();
306 m_EmcROOTGeo->SetPhysicalDefaultVis();
307 m_MucROOTGeo->SetPhysicalDefaultVis();
308}

◆ SetPhysicalDefaultVis() [2/3]

virtual void BesGeometry::SetPhysicalDefaultVis ( )
virtual

◆ SetPhysicalDefaultVis() [3/3]

virtual void BesGeometry::SetPhysicalDefaultVis ( )
virtual

The documentation for this class was generated from the following files: