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

#include <TofROOTGeo.h>

Inheritance diagram for TofROOTGeo:

Public Member Functions

 TofROOTGeo ()
 Constructor.
 ~TofROOTGeo ()
 Destructor.
void InitFromGdml (const char *gdmlFile, const char *setupName)
 Initialize the instance of ROOTGeo.
void SetNode ()
 Set the pointers to theirs nodes;.
void SetDefaultVis ()
 Set default visual attributes;.
void SetAllVisible ()
 Set all visible;.
void SetQuarterVisible ()
 Set quater visible;.
void SetPhysicalNode ()
 Set the pointers to the physical nodes;.
int GetPartNb ()
 Get number of part;.
int GetScinNb (int part)
 Get number of scintillators on each part;.
TGeoVolume * GetVolumeTof ()
 Get Tof volume;.
TGeoVolumeAssembly * GetVolumeAssembly (int part)
 Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.
TGeoVolume * GetVolumeScin (int part)
 Get scintillator volume;.
TGeoVolume * GetVolumeBucket (int part)
 Get bucket volume;.
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;.
TGeoPhysicalNode * GetPhysicalScin (int part, int scin)
 Get scintillator physical node;.
 TofROOTGeo ()
 Constructor.
 ~TofROOTGeo ()
 Destructor.
bool GetMrpc () const
void InitFromGDML (const char *gdmlFile, const char *setupName)
 Initialize ROOTGeo from GDML.
void InitFromROOT (TGeoVolume *vol)
 Initialize ROOTGeo from TGeoVolume logicalTof.
void Init2DGeometry ()
 Initialize 2D Geometry.
void SetNode ()
 Set the pointers to theirs nodes;.
void SetVolumeDefaultVis ()
 Set default visual attributes;.
void SetPhysicalDefaultVis ()
void SetAllVisible ()
 Set all visible;.
void SetTMatch (Bool_t input)
void SetQMatch (Bool_t input)
void SetQuarterVisible ()
 Set quater visible;.
void SetHalfVisible ()
 Set half visible;.
void SetNoEndVisible ()
 Set noend visible;.
void SetPhysicalNode ()
 Set the pointers to the physical nodes;.
void SetDetector ()
 Draw Detecor (what is detector depends on you).
void SetHits ()
 Set all physicalNodes corresponding to digiCol;.
void SetVisTofDetector ()
 Set Tof detector visibility;.
void SetVisTofHits ()
 Set Tof hits visibility;.
int GetPartNb ()
 Get number of part;.
int GetScinNb (int part)
 Get number of scintillators on each part;.
int GetLayerNb (int part)
int GetModuleNb (int part)
int GetStripNb (int module)
int GetChamberNodeNb (int module)
int GetContainerNodeNb (int module)
int GetBoard1NodeNb (int module)
void SetVolumeTof (TGeoVolume *vol)
 Set Tof volume, while initializing from ROOT;.
TGeoVolume * GetVolumeTof ()
 Get Tof volume;.
TGeoVolume * GetVolumePart (int part)
 Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.
TGeoVolume * GetVolumePVF (int part, int layer)
 Get PVF volume;.
TGeoVolume * GetVolumeAl (int part, int layer)
 Get Al volume;.
TGeoVolume * GetVolumeScin (int part, int layer)
 Get scintillator volume;.
TGeoVolume * GetVolumeBucket (int part, int layer)
 Get bucket volume;.
TGeoNode * GetPVF (int part, int layer, int scin)
 Get PVF node;.
TGeoNode * GetAl (int part, int layer)
 Get Al node;.
TGeoNode * GetScin (int part, int layer)
 Get scintillator node;.
TGeoNode * GetModule (int part, int module)
 Get module node;.
TGeoNode * GetStrip (int part, int module, int strip)
 Get strip node;.
TGeoNode * GetgasContainer (int part, int module)
 Get gasContainer node;.
TGeoNode * GetbareChamber (int part, int module)
 Get bareChamber node;.
TGeoNode * GetpcbBoard1 (int part, int module)
 Get pcbBoard1 node;.
TGeoPhysicalNode * GetPhysicalScin (int part, int layer, int scin)
 Get bucket node, 0 for west bucket, 1 for the east one;.
Tof2DScinGet2DScin (Int_t part, Int_t layer, Int_t scin)
 Get Tof2DScin;.
Int_t GetPart (TGeoPhysicalNode *phyNode)
 Get part no of a scintillator physcial node.
void Draw (Option_t *option)
 Draw function.
void DrawHits (Option_t *option)
 Draw 2D hits.
 TofROOTGeo ()
 Constructor.
 ~TofROOTGeo ()
 Destructor.
bool GetMrpc () const
void InitFromGDML (const char *gdmlFile, const char *setupName)
 Initialize ROOTGeo from GDML.
void InitFromROOT (TGeoVolume *vol)
 Initialize ROOTGeo from TGeoVolume logicalTof.
void Init2DGeometry ()
 Initialize 2D Geometry.
void SetNode ()
 Set the pointers to theirs nodes;.
void SetVolumeDefaultVis ()
 Set default visual attributes;.
void SetPhysicalDefaultVis ()
void SetAllVisible ()
 Set all visible;.
void SetTMatch (Bool_t input)
void SetQMatch (Bool_t input)
void SetQuarterVisible ()
 Set quater visible;.
void SetHalfVisible ()
 Set half visible;.
void SetNoEndVisible ()
 Set noend visible;.
void SetPhysicalNode ()
 Set the pointers to the physical nodes;.
void SetDetector ()
 Draw Detecor (what is detector depends on you).
void SetHits ()
 Set all physicalNodes corresponding to digiCol;.
void SetVisTofDetector ()
 Set Tof detector visibility;.
void SetVisTofHits ()
 Set Tof hits visibility;.
int GetPartNb ()
 Get number of part;.
int GetScinNb (int part)
 Get number of scintillators on each part;.
int GetLayerNb (int part)
int GetModuleNb (int part)
int GetStripNb (int module)
int GetChamberNodeNb (int module)
int GetContainerNodeNb (int module)
int GetBoard1NodeNb (int module)
void SetVolumeTof (TGeoVolume *vol)
 Set Tof volume, while initializing from ROOT;.
TGeoVolume * GetVolumeTof ()
 Get Tof volume;.
TGeoVolume * GetVolumePart (int part)
 Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.
TGeoVolume * GetVolumePVF (int part, int layer)
 Get PVF volume;.
TGeoVolume * GetVolumeAl (int part, int layer)
 Get Al volume;.
TGeoVolume * GetVolumeScin (int part, int layer)
 Get scintillator volume;.
TGeoVolume * GetVolumeBucket (int part, int layer)
 Get bucket volume;.
TGeoNode * GetPVF (int part, int layer, int scin)
 Get PVF node;.
TGeoNode * GetAl (int part, int layer)
 Get Al node;.
TGeoNode * GetScin (int part, int layer)
 Get scintillator node;.
TGeoNode * GetModule (int part, int module)
 Get module node;.
TGeoNode * GetStrip (int part, int module, int strip)
 Get strip node;.
TGeoNode * GetgasContainer (int part, int module)
 Get gasContainer node;.
TGeoNode * GetbareChamber (int part, int module)
 Get bareChamber node;.
TGeoNode * GetpcbBoard1 (int part, int module)
 Get pcbBoard1 node;.
TGeoPhysicalNode * GetPhysicalScin (int part, int layer, int scin)
 Get bucket node, 0 for west bucket, 1 for the east one;.
Tof2DScinGet2DScin (Int_t part, Int_t layer, Int_t scin)
 Get Tof2DScin;.
Int_t GetPart (TGeoPhysicalNode *phyNode)
 Get part no of a scintillator physcial node.
void Draw (Option_t *option)
 Draw function.
void DrawHits (Option_t *option)
 Draw 2D hits.
 TofROOTGeo ()
 Constructor.
 ~TofROOTGeo ()
 Destructor.
void InitFromGdml (const char *gdmlFile, const char *setupName)
 Initialize the instance of ROOTGeo.
void SetNode ()
 Set the pointers to theirs nodes;.
void SetDefaultVis ()
 Set default visual attributes;.
void SetAllVisible ()
 Set all visible;.
void SetQuarterVisible ()
 Set quater visible;.
void SetPhysicalNode ()
 Set the pointers to the physical nodes;.
int GetPartNb ()
 Get number of part;.
int GetScinNb (int part)
 Get number of scintillators on each part;.
TGeoVolume * GetVolumeTof ()
 Get Tof volume;.
TGeoVolumeAssembly * GetVolumeAssembly (int part)
 Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.
TGeoVolume * GetVolumeScin (int part)
 Get scintillator volume;.
TGeoVolume * GetVolumeBucket (int part)
 Get bucket volume;.
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;.
TGeoPhysicalNode * GetPhysicalScin (int part, int scin)
 Get scintillator physical node;.
 TofROOTGeo ()
 Constructor.
 ~TofROOTGeo ()
 Destructor.
bool GetMrpc () const
void InitFromGDML (const char *gdmlFile, const char *setupName)
 Initialize ROOTGeo from GDML.
void InitFromROOT (TGeoVolume *vol)
 Initialize ROOTGeo from TGeoVolume logicalTof.
void Init2DGeometry ()
 Initialize 2D Geometry.
void SetNode ()
 Set the pointers to theirs nodes;.
void SetVolumeDefaultVis ()
 Set default visual attributes;.
void SetPhysicalDefaultVis ()
void SetAllVisible ()
 Set all visible;.
void SetTMatch (Bool_t input)
void SetQMatch (Bool_t input)
void SetQuarterVisible ()
 Set quater visible;.
void SetHalfVisible ()
 Set half visible;.
void SetNoEndVisible ()
 Set noend visible;.
void SetPhysicalNode ()
 Set the pointers to the physical nodes;.
void SetDetector ()
 Draw Detecor (what is detector depends on you).
void SetHits ()
 Set all physicalNodes corresponding to digiCol;.
void SetVisTofDetector ()
 Set Tof detector visibility;.
void SetVisTofHits ()
 Set Tof hits visibility;.
int GetPartNb ()
 Get number of part;.
int GetScinNb (int part)
 Get number of scintillators on each part;.
int GetLayerNb (int part)
int GetModuleNb (int part)
int GetStripNb (int module)
int GetChamberNodeNb (int module)
int GetContainerNodeNb (int module)
int GetBoard1NodeNb (int module)
void SetVolumeTof (TGeoVolume *vol)
 Set Tof volume, while initializing from ROOT;.
TGeoVolume * GetVolumeTof ()
 Get Tof volume;.
TGeoVolume * GetVolumePart (int part)
 Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.
TGeoVolume * GetVolumePVF (int part, int layer)
 Get PVF volume;.
TGeoVolume * GetVolumeAl (int part, int layer)
 Get Al volume;.
TGeoVolume * GetVolumeScin (int part, int layer)
 Get scintillator volume;.
TGeoVolume * GetVolumeBucket (int part, int layer)
 Get bucket volume;.
TGeoNode * GetPVF (int part, int layer, int scin)
 Get PVF node;.
TGeoNode * GetAl (int part, int layer)
 Get Al node;.
TGeoNode * GetScin (int part, int layer)
 Get scintillator node;.
TGeoNode * GetModule (int part, int module)
 Get module node;.
TGeoNode * GetStrip (int part, int module, int strip)
 Get strip node;.
TGeoNode * GetgasContainer (int part, int module)
 Get gasContainer node;.
TGeoNode * GetbareChamber (int part, int module)
 Get bareChamber node;.
TGeoNode * GetpcbBoard1 (int part, int module)
 Get pcbBoard1 node;.
TGeoPhysicalNode * GetPhysicalScin (int part, int layer, int scin)
 Get bucket node, 0 for west bucket, 1 for the east one;.
Tof2DScinGet2DScin (Int_t part, Int_t layer, Int_t scin)
 Get Tof2DScin;.
Int_t GetPart (TGeoPhysicalNode *phyNode)
 Get part no of a scintillator physcial node.
void Draw (Option_t *option)
 Draw function.
void DrawHits (Option_t *option)
 Draw 2D hits.
 TofROOTGeo ()
 Constructor.
 ~TofROOTGeo ()
 Destructor.
void InitFromGdml (const char *gdmlFile, const char *setupName)
 Initialize the instance of ROOTGeo.
void SetNode ()
 Set the pointers to theirs nodes;.
void SetDefaultVis ()
 Set default visual attributes;.
void SetAllVisible ()
 Set all visible;.
void SetQuarterVisible ()
 Set quater visible;.
void SetPhysicalNode ()
 Set the pointers to the physical nodes;.
int GetPartNb ()
 Get number of part;.
int GetScinNb (int part)
 Get number of scintillators on each part;.
TGeoVolume * GetVolumeTof ()
 Get Tof volume;.
TGeoVolumeAssembly * GetVolumeAssembly (int part)
 Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.
TGeoVolume * GetVolumeScin (int part)
 Get scintillator volume;.
TGeoVolume * GetVolumeBucket (int part)
 Get bucket volume;.
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;.
TGeoPhysicalNode * GetPhysicalScin (int part, int scin)
 Get scintillator physical node;.
Public Member Functions inherited from SubDetectorROOTGeo
 SubDetectorROOTGeo ()
 Constructor.
virtual ~SubDetectorROOTGeo ()
 Destructor.
void ReadGdml (const char *gdmlFile, const char *setupName)
 Initialize the instance of ROOTGeo.
int IsInitialized ()
 If the ROOT geometry of this subdetctor is initialized;.
void SetChildNo (int childNo)
TGeoVolume * GetLogicalVolume (const std::string &vn)
 Get a logical volume by name;.
TGeoVolume * GetTopVolume ()
 Get the top(world) volume;.
TGeoVolumeAssembly * GetAssemblyVolume (const std::string &an)
 Get an assembly by name;.
TGeoNode * GetNode (const std::string &nn)
 Get a node(physical volume) by name;.
 SubDetectorROOTGeo ()
 Constructor.
virtual ~SubDetectorROOTGeo ()
 Destructor.
virtual void ReadGdml (const char *gdmlFile, const char *setupName)
 Initialize the instance of ROOTGeo.
virtual int IsInitialized ()
 If the ROOT geometry of this subdetctor is initialized;.
virtual void SetChildNo (int childNo)
virtual TGeoVolume * GetLogicalVolume (const std::string &vn)
 Get a logical volume by name;.
virtual TGeoVolume * GetTopVolume ()
 Get the top(world) volume;.
virtual TGeoVolumeAssembly * GetAssemblyVolume (const std::string &an)
 Get an assembly by name;.
virtual TGeoNode * GetNode (const std::string &nn)
 Get a node(physical volume) by name;.
virtual int GetHitsNum ()
 Get number of hits in HitsArray;.
virtual TGeoPhysicalNode * GetHit (int i)
 Get ith hit in HitsArray;.
virtual void SetDetectorOn ()
 Set all physicalNodes in m_DeteorsArray visible;.
 SubDetectorROOTGeo ()
 Constructor.
virtual ~SubDetectorROOTGeo ()
 Destructor.
virtual void ReadGdml (const char *gdmlFile, const char *setupName)
 Initialize the instance of ROOTGeo.
virtual int IsInitialized ()
 If the ROOT geometry of this subdetctor is initialized;.
virtual void SetChildNo (int childNo)
virtual TGeoVolume * GetLogicalVolume (const std::string &vn)
 Get a logical volume by name;.
virtual TGeoVolume * GetTopVolume ()
 Get the top(world) volume;.
virtual TGeoVolumeAssembly * GetAssemblyVolume (const std::string &an)
 Get an assembly by name;.
virtual TGeoNode * GetNode (const std::string &nn)
 Get a node(physical volume) by name;.
virtual int GetHitsNum ()
 Get number of hits in HitsArray;.
virtual TGeoPhysicalNode * GetHit (int i)
 Get ith hit in HitsArray;.
virtual void SetDetectorOn ()
 Set all physicalNodes in m_DeteorsArray visible;.
 SubDetectorROOTGeo ()
 Constructor.
virtual ~SubDetectorROOTGeo ()
 Destructor.
void ReadGdml (const char *gdmlFile, const char *setupName)
 Initialize the instance of ROOTGeo.
int IsInitialized ()
 If the ROOT geometry of this subdetctor is initialized;.
void SetChildNo (int childNo)
TGeoVolume * GetLogicalVolume (const std::string &vn)
 Get a logical volume by name;.
TGeoVolume * GetTopVolume ()
 Get the top(world) volume;.
TGeoVolumeAssembly * GetAssemblyVolume (const std::string &an)
 Get an assembly by name;.
TGeoNode * GetNode (const std::string &nn)
 Get a node(physical volume) by name;.
 SubDetectorROOTGeo ()
 Constructor.
virtual ~SubDetectorROOTGeo ()
 Destructor.
virtual void ReadGdml (const char *gdmlFile, const char *setupName)
 Initialize the instance of ROOTGeo.
virtual int IsInitialized ()
 If the ROOT geometry of this subdetctor is initialized;.
virtual void SetChildNo (int childNo)
virtual TGeoVolume * GetLogicalVolume (const std::string &vn)
 Get a logical volume by name;.
virtual TGeoVolume * GetTopVolume ()
 Get the top(world) volume;.
virtual TGeoVolumeAssembly * GetAssemblyVolume (const std::string &an)
 Get an assembly by name;.
virtual TGeoNode * GetNode (const std::string &nn)
 Get a node(physical volume) by name;.
virtual int GetHitsNum ()
 Get number of hits in HitsArray;.
virtual TGeoPhysicalNode * GetHit (int i)
 Get ith hit in HitsArray;.
virtual void SetDetectorOn ()
 Set all physicalNodes in m_DeteorsArray visible;.
 SubDetectorROOTGeo ()
 Constructor.
virtual ~SubDetectorROOTGeo ()
 Destructor.
void ReadGdml (const char *gdmlFile, const char *setupName)
 Initialize the instance of ROOTGeo.
int IsInitialized ()
 If the ROOT geometry of this subdetctor is initialized;.
void SetChildNo (int childNo)
TGeoVolume * GetLogicalVolume (const std::string &vn)
 Get a logical volume by name;.
TGeoVolume * GetTopVolume ()
 Get the top(world) volume;.
TGeoVolumeAssembly * GetAssemblyVolume (const std::string &an)
 Get an assembly by name;.
TGeoNode * GetNode (const std::string &nn)
 Get a node(physical volume) by name;.

Additional Inherited Members

Protected Attributes inherited from SubDetectorROOTGeo
int m_ROOTGeoInit
int m_childNo
TGeoVolume * m_TopVolume
int m_2DGeoInit
TObjArray * m_DetectorsArray
TObjArray * m_HitsArray
TObjArray * m_2DHitsArray

Detailed Description

Class TofGeo contains all of the objects necessary to describe the tof geometry.

Author
Zhengyun You \URL{youzy.nosp@m.@hep.nosp@m..pku..nosp@m.cn}

Definition at line 27 of file DetectorDescription/ROOTGeo/include/ROOTGeo/TofROOTGeo.h.

Constructor & Destructor Documentation

◆ TofROOTGeo() [1/6]

TofROOTGeo::TofROOTGeo ( )

Constructor.

Definition at line 24 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

24 {
25 // Default constructor.
26 for ( int part = 0; part < m_kPart; part++ )
27 {
28 for ( int scin = 0; scin < m_kAssemblyBr; scin++ )
29 {
30 m_NodeScin[part][scin] = 0;
31 m_PhysicalScin[part][scin] = 0;
32 }
33 }
34}

◆ ~TofROOTGeo() [1/6]

TofROOTGeo::~TofROOTGeo ( )

Destructor.

Definition at line 36 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

36{}

◆ TofROOTGeo() [2/6]

TofROOTGeo::TofROOTGeo ( )

Constructor.

◆ ~TofROOTGeo() [2/6]

TofROOTGeo::~TofROOTGeo ( )

Destructor.

◆ TofROOTGeo() [3/6]

TofROOTGeo::TofROOTGeo ( )

Constructor.

◆ ~TofROOTGeo() [3/6]

TofROOTGeo::~TofROOTGeo ( )

Destructor.

◆ TofROOTGeo() [4/6]

TofROOTGeo::TofROOTGeo ( )

Constructor.

◆ ~TofROOTGeo() [4/6]

TofROOTGeo::~TofROOTGeo ( )

Destructor.

◆ TofROOTGeo() [5/6]

TofROOTGeo::TofROOTGeo ( )

Constructor.

◆ ~TofROOTGeo() [5/6]

TofROOTGeo::~TofROOTGeo ( )

Destructor.

◆ TofROOTGeo() [6/6]

TofROOTGeo::TofROOTGeo ( )

Constructor.

◆ ~TofROOTGeo() [6/6]

TofROOTGeo::~TofROOTGeo ( )

Destructor.

Member Function Documentation

◆ Draw() [1/3]

void TofROOTGeo::Draw ( Option_t * option)

Draw function.

Definition at line 1482 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1482 {
1483 TString opt = option;
1484 opt.ToUpper();
1485
1486 if ( !m_2DGeoInit ) cout << "TofROOTGeo::Draw2D(), 2D Geometry not initialized!" << endl;
1487 BesView* view = dynamic_cast<BesView*>( gPad->GetView() );
1488 if ( !view ) cout << "TofROOTGeo::Draw(), BesView not found" << endl;
1489
1490 if ( view->GetVisTofGlobal() )
1491 { // TofVisGlobal
1492 TString scinOpt;
1493
1494 // if (opt.Contains("XY")) {
1495 // west part drawn first usually
1496 for ( Int_t part = m_kPart - 1; part >= 0; part-- )
1497 {
1498 for ( Int_t layer = 0; layer < GetLayerNb( part ); layer++ )
1499 {
1500 for ( int scin = 0; scin < GetScinNb( part ); scin++ )
1501 {
1502 if ( m_Tof2DScin[part][layer][scin] )
1503 {
1504 // cout << "part " << part << " layer " << layer << " scin " << scin << endl;
1505 // m_Tof2DScin[part][layer][scin]->SetHighlighted(false);
1506 m_Tof2DScin[part][layer][scin]->SetFired( false );
1507 if ( ( part == 0 && view->GetVisTofEast() ) ||
1508 ( part == 1 && view->GetVisTofBarrel() ) ||
1509 ( part == 2 && view->GetVisTofWest() ) )
1510 m_Tof2DScin[part][layer][scin]->Draw( scinOpt );
1511 }
1512 }
1513 }
1514 }
1515 }
1516}
int GetScinNb(int part)
Get number of scintillators on each part;.

◆ Draw() [2/3]

void TofROOTGeo::Draw ( Option_t * option)

Draw function.

◆ Draw() [3/3]

void TofROOTGeo::Draw ( Option_t * option)

Draw function.

◆ DrawHits() [1/3]

void TofROOTGeo::DrawHits ( Option_t * option)

Draw 2D hits.

Definition at line 1518 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1518 {
1519 // cout << "Draw Hits" << endl;
1520 BesView* view = dynamic_cast<BesView*>( gPad->GetView() );
1521 if ( !view ) cout << "TofROOTGeo::DrawHits(), BesView not found" << endl;
1522
1523 // cout << "VisTofHitsGlobal " << view->GetVisTofHitsGlobal() << endl;
1524 // cout << "VisTofHitsEast " << view->GetVisTofHitsEast() << endl;
1525 // cout << "VisTofHitsBarrel " << view->GetVisTofHitsBarrel() << endl;
1526 // cout << "VisTofHitsWest " << view->GetVisTofHitsWest() << endl;
1527
1528 if ( view->GetVisTofHitsGlobal() )
1529 {
1530 // Long Peixun's update: Use m_2DHitsArray which contains ready hits rather than rebuild
1531 // hits
1532 for ( int i = 0; i < m_2DHitsArray->GetEntries(); ++i )
1533 {
1534 Tof2DScin* aScin = (Tof2DScin*)m_2DHitsArray->At( i );
1535 if ( aScin )
1536 {
1537 if ( ( k_TMatch ) && ( aScin->GetTimeChannel() == 0x7FFFFFFF ) ) continue;
1538 if ( ( k_QMatch ) && ( aScin->GetChargeChannel() == 0x7FFFFFFF ) ) continue;
1539
1540 if ( ( aScin->GetPart() == 0 && view->GetVisTofHitsEast() ) ||
1541 ( aScin->GetPart() == 1 && view->GetVisTofHitsBarrel() ) ||
1542 ( aScin->GetPart() == 2 && view->GetVisTofHitsWest() ) )
1543 {
1544 aScin->SetFired( true );
1545 aScin->Draw();
1546 }
1547 }
1548 }
1549
1550 /* // reset time and charge to zero
1551 for (Int_t part = m_kPart-1; part >= 0; part--) {
1552 for (Int_t layer = 0; layer < GetLayerNb(part); layer++) {
1553 for (int scin = 0; scin < GetScinNb(part); scin++) {
1554 if (m_Tof2DScin[part][layer][scin]) {
1555 m_Tof2DScin[part][layer][scin]->ResetTimeCharge();
1556 }
1557 }
1558 }
1559 }
1560
1561 if (m_TofDigiCol) {
1562 for (int i = 0; i < m_TofDigiCol->GetEntries(); i++) {
1563 TTofDigi *aTofDigi = (TTofDigi*)m_TofDigiCol->At(i);
1564
1565 Identifier aTofID( aTofDigi->getIntId() );
1566 int part = TofID::barrel_ec( aTofID );
1567 int layer = TofID::layer( aTofID );
1568 int scin = TofID::phi_module( aTofID );
1569
1570 Double_t charge = Double_t(aTofDigi->getChargeChannel()) / TOF_CHARGE_FACTOR;
1571 //cout << "charge " << charge << endl;
1572
1573 Tof2DScin *aScin = 0;
1574 aScin = m_Tof2DScin[part][layer][scin];
1575 // Mdc TQMatch for example
1576 //
1577 //if (aWire &&
1578 // ((overflow == 0)||(overflow == 12))){
1579 // if ((k_TMatch) &&
1580 // (aMdcDigi->getTimeChannel() == 0x7FFFFFFF)){
1581 // continue;
1582 // }
1583 // if ((k_QMatch) &&
1584 // (aMdcDigi->getChargeChannel() == 0x7FFFFFFF)){
1585 // continue;
1586 // }
1587 //}
1588
1589 if (aScin) {
1590 if ((k_TMatch)&&
1591 (aTofDigi->getTimeChannel() == 0x7FFFFFFF)){
1592 continue;
1593 }
1594 if ((k_QMatch)&&
1595 (aTofDigi->getChargeChannel() == 0x7FFFFFFF)){
1596 continue;
1597 }
1598
1599 aScin->SetCharge(aScin->GetCharge() + charge);
1600
1601 if ( (part == 0 && view->GetVisTofHitsEast()) ||
1602 (part == 1 && view->GetVisTofHitsBarrel()) ||
1603 (part == 2 && view->GetVisTofHitsWest()) ) {
1604 aScin->SetFired(true);
1605 aScin->Draw();
1606 }
1607 }
1608 }
1609 } */
1610 }
1611}
virtual void Draw(Option_t *option="")
virtual void SetFired(bool status=true)

◆ DrawHits() [2/3]

void TofROOTGeo::DrawHits ( Option_t * option)

Draw 2D hits.

◆ DrawHits() [3/3]

void TofROOTGeo::DrawHits ( Option_t * option)

Draw 2D hits.

◆ Get2DScin() [1/3]

Tof2DScin * TofROOTGeo::Get2DScin ( Int_t part,
Int_t layer,
Int_t scin )

Get Tof2DScin;.

Definition at line 1458 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1458 {
1459 if ( m_Tof2DScin[part][layer][scin] ) return m_Tof2DScin[part][layer][scin];
1460 else return 0;
1461}

◆ Get2DScin() [2/3]

Tof2DScin * TofROOTGeo::Get2DScin ( Int_t part,
Int_t layer,
Int_t scin )

Get Tof2DScin;.

◆ Get2DScin() [3/3]

Tof2DScin * TofROOTGeo::Get2DScin ( Int_t part,
Int_t layer,
Int_t scin )

Get Tof2DScin;.

◆ GetAl() [1/3]

TGeoNode * TofROOTGeo::GetAl ( int part,
int layer )

Get Al node;.

Definition at line 1339 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1339 {
1340 if ( m_NodeAl[part][layer] != 0 ) { return m_NodeAl[part][layer]; }
1341 else
1342 {
1343 std::cout << "Node: "
1344 << "Part" << part << "Layer" << layer << "Al"
1345 << " not found" << std::endl;
1346 return 0;
1347 }
1348 return m_NodeAl[part][layer];
1349}

◆ GetAl() [2/3]

TGeoNode * TofROOTGeo::GetAl ( int part,
int layer )

Get Al node;.

◆ GetAl() [3/3]

TGeoNode * TofROOTGeo::GetAl ( int part,
int layer )

Get Al node;.

◆ GetbareChamber() [1/3]

TGeoNode * TofROOTGeo::GetbareChamber ( int part,
int module )

Get bareChamber node;.

Definition at line 1388 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1388 {
1389 if ( m_NodebareChamber[part][module] != 0 ) { return m_NodebareChamber[part][module]; }
1390 else
1391 {
1392 std::cout << "Node: "
1393 << "Part" << part << "Module" << module << "bareChamber"
1394 << " not found" << std::endl;
1395 return 0;
1396 }
1397
1398 return m_NodebareChamber[part][module];
1399}

◆ GetbareChamber() [2/3]

TGeoNode * TofROOTGeo::GetbareChamber ( int part,
int module )

Get bareChamber node;.

◆ GetbareChamber() [3/3]

TGeoNode * TofROOTGeo::GetbareChamber ( int part,
int module )

Get bareChamber node;.

◆ GetBoard1NodeNb() [1/3]

int TofROOTGeo::GetBoard1NodeNb ( int module)

Definition at line 1211 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1211{ return m_kBoard1NodeNb; }

◆ GetBoard1NodeNb() [2/3]

int TofROOTGeo::GetBoard1NodeNb ( int module)

◆ GetBoard1NodeNb() [3/3]

int TofROOTGeo::GetBoard1NodeNb ( int module)

◆ GetBucket() [1/3]

TGeoNode * TofROOTGeo::GetBucket ( int part,
int scin,
int bucket )

Get bucket node, 0 for west bucket, 1 for the east one;.

Definition at line 281 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

281 {
282 std::stringstream osname;
283 if ( part == 0 )
284 {
285 osname << "pv_"
286 << "logical"
287 << "Tof"
288 << "BucketEc"
289 << "_" << m_kAssemblyBr + m_kAssemblyEc + scin << "_1";
290 }
291 else if ( part == 1 )
292 {
293 osname << "pv_"
294 << "logical"
295 << "Tof"
296 << "BucketBr"
297 << "_" << scin << "_" << bucket + 1;
298 }
299 else if ( part == 2 )
300 {
301 osname << "pv_"
302 << "logical"
303 << "Tof"
304 << "BucketEc"
305 << "_" << m_kAssemblyBr + scin << "_1";
306 }
307
308 return GetNode( osname.str() );
309}
TGeoNode * GetNode(const std::string &nn)
Get a node(physical volume) by name;.

Referenced by SetAllVisible(), SetDefaultVis(), and SetQuarterVisible().

◆ GetBucket() [2/3]

TGeoNode * TofROOTGeo::GetBucket ( int part,
int scin,
int bucket )

Get bucket node, 0 for west bucket, 1 for the east one;.

◆ GetBucket() [3/3]

TGeoNode * TofROOTGeo::GetBucket ( int part,
int scin,
int bucket )

Get bucket node, 0 for west bucket, 1 for the east one;.

◆ GetChamberNodeNb() [1/3]

int TofROOTGeo::GetChamberNodeNb ( int module)

Definition at line 1209 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1209{ return m_kChamberNodeNb; }

◆ GetChamberNodeNb() [2/3]

int TofROOTGeo::GetChamberNodeNb ( int module)

◆ GetChamberNodeNb() [3/3]

int TofROOTGeo::GetChamberNodeNb ( int module)

◆ GetContainerNodeNb() [1/3]

int TofROOTGeo::GetContainerNodeNb ( int module)

Definition at line 1210 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1210{ return m_kContainerNodeNb; }

◆ GetContainerNodeNb() [2/3]

int TofROOTGeo::GetContainerNodeNb ( int module)

◆ GetContainerNodeNb() [3/3]

int TofROOTGeo::GetContainerNodeNb ( int module)

◆ GetgasContainer() [1/3]

TGeoNode * TofROOTGeo::GetgasContainer ( int part,
int module )

Get gasContainer node;.

Definition at line 1375 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1375 {
1376 if ( m_NodegasContainer[part][module] != 0 ) { return m_NodegasContainer[part][module]; }
1377 else
1378 {
1379 std::cout << "Node: "
1380 << "Part" << part << "Module" << module << "gasContainer"
1381 << " not found" << std::endl;
1382 return 0;
1383 }
1384
1385 return m_NodegasContainer[part][module];
1386}

◆ GetgasContainer() [2/3]

TGeoNode * TofROOTGeo::GetgasContainer ( int part,
int module )

Get gasContainer node;.

◆ GetgasContainer() [3/3]

TGeoNode * TofROOTGeo::GetgasContainer ( int part,
int module )

Get gasContainer node;.

◆ GetLayerNb() [1/3]

int TofROOTGeo::GetLayerNb ( int part)

Definition at line 1195 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1195 {
1196 // Long Peixun's update: code optimization
1197 // Huang Shuhui's update: for Tof with MRPC
1198 if ( part == 1 ) return m_kLayerBr;
1199 else
1200 {
1201 if ( fTofMrpc ) return m_kModuleEc;
1202 return m_kLayerEc;
1203 }
1204}

Referenced by Draw(), GetPart(), Init2DGeometry(), SetDetector(), SetPhysicalDefaultVis(), and SetVolumeDefaultVis().

◆ GetLayerNb() [2/3]

int TofROOTGeo::GetLayerNb ( int part)

◆ GetLayerNb() [3/3]

int TofROOTGeo::GetLayerNb ( int part)

◆ GetModule() [1/3]

TGeoNode * TofROOTGeo::GetModule ( int part,
int module )

Get module node;.

Definition at line 1364 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1364 {
1365 if ( m_NodeModule[part][module] != 0 ) { return m_NodeModule[part][module]; }
1366 else
1367 {
1368 std::cout << "Node: "
1369 << "Part" << part << "Module" << module << " not found" << std::endl;
1370 return 0;
1371 }
1372 return m_NodeModule[part][module];
1373}

◆ GetModule() [2/3]

TGeoNode * TofROOTGeo::GetModule ( int part,
int module )

Get module node;.

◆ GetModule() [3/3]

TGeoNode * TofROOTGeo::GetModule ( int part,
int module )

Get module node;.

◆ GetModuleNb() [1/3]

int TofROOTGeo::GetModuleNb ( int part)

Definition at line 1208 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1208{ return m_kModuleEc; }

◆ GetModuleNb() [2/3]

int TofROOTGeo::GetModuleNb ( int part)

◆ GetModuleNb() [3/3]

int TofROOTGeo::GetModuleNb ( int part)

◆ GetMrpc() [1/3]

bool TofROOTGeo::GetMrpc ( ) const
inline

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

38{ return fTofMrpc; }

◆ GetMrpc() [2/3]

bool TofROOTGeo::GetMrpc ( ) const
inline

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

38{ return fTofMrpc; }

◆ GetMrpc() [3/3]

bool TofROOTGeo::GetMrpc ( ) const
inline

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

38{ return fTofMrpc; }

◆ GetPart() [1/3]

Int_t TofROOTGeo::GetPart ( TGeoPhysicalNode * phyNode)

Get part no of a scintillator physcial node.

Definition at line 1463 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1463 {
1464 for ( Int_t part = 0; part < m_kPart; part++ )
1465 {
1466 for ( Int_t layer = 0; layer < GetLayerNb( part ); layer++ )
1467 {
1468 for ( int scin = 0; scin < GetScinNb( part ); scin++ )
1469 {
1470 if ( phyNode == GetPhysicalScin( part, layer, scin ) )
1471 {
1472 // cout << "GetPart()" << part << endl;
1473 return part;
1474 }
1475 }
1476 }
1477 }
1478 cout << "TofROOTGeo::GetPart, this scintillator physical node does not exist!" << endl;
1479 return -1;
1480}
TGeoPhysicalNode * GetPhysicalScin(int part, int scin)
Get scintillator physical node;.

Referenced by SetVisTofDetector(), and SetVisTofHits().

◆ GetPart() [2/3]

Int_t TofROOTGeo::GetPart ( TGeoPhysicalNode * phyNode)

Get part no of a scintillator physcial node.

◆ GetPart() [3/3]

Int_t TofROOTGeo::GetPart ( TGeoPhysicalNode * phyNode)

Get part no of a scintillator physcial node.

◆ GetPartNb() [1/6]

int TofROOTGeo::GetPartNb ( )

Get number of part;.

Definition at line 195 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

195 {
196 int nPart = m_kPart;
197 return nPart;
198}

◆ GetPartNb() [2/6]

int TofROOTGeo::GetPartNb ( )

Get number of part;.

◆ GetPartNb() [3/6]

int TofROOTGeo::GetPartNb ( )

Get number of part;.

◆ GetPartNb() [4/6]

int TofROOTGeo::GetPartNb ( )

Get number of part;.

◆ GetPartNb() [5/6]

int TofROOTGeo::GetPartNb ( )

Get number of part;.

◆ GetPartNb() [6/6]

int TofROOTGeo::GetPartNb ( )

Get number of part;.

◆ GetpcbBoard1() [1/3]

TGeoNode * TofROOTGeo::GetpcbBoard1 ( int part,
int module )

Get pcbBoard1 node;.

Definition at line 1401 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1401 {
1402 if ( m_NodepcbBoard1[part][module] != 0 ) { return m_NodepcbBoard1[part][module]; }
1403 else
1404 {
1405 std::cout << "Node: "
1406 << "Part" << part << "Module" << module << "pcbBoard1"
1407 << " not found" << std::endl;
1408 return 0;
1409 }
1410
1411 return m_NodepcbBoard1[part][module];
1412}

◆ GetpcbBoard1() [2/3]

TGeoNode * TofROOTGeo::GetpcbBoard1 ( int part,
int module )

Get pcbBoard1 node;.

◆ GetpcbBoard1() [3/3]

TGeoNode * TofROOTGeo::GetpcbBoard1 ( int part,
int module )

Get pcbBoard1 node;.

◆ GetPhysicalScin() [1/6]

TGeoPhysicalNode * TofROOTGeo::GetPhysicalScin ( int part,
int layer,
int scin )

Get bucket node, 0 for west bucket, 1 for the east one;.

Get scintillator physical node;

Definition at line 1447 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1447 {
1448 if ( m_PhysicalScin[part][layer][scin] != 0 ) { return m_PhysicalScin[part][layer][scin]; }
1449 else
1450 {
1451 std::cout << "PhysicalNode: "
1452 << "Part" << part << "Layer" << layer << "Scin" << scin << " not found"
1453 << std::endl;
1454 return 0;
1455 }
1456}

◆ GetPhysicalScin() [2/6]

TGeoPhysicalNode * TofROOTGeo::GetPhysicalScin ( int part,
int layer,
int scin )

Get bucket node, 0 for west bucket, 1 for the east one;.

Get scintillator physical node;

◆ GetPhysicalScin() [3/6]

TGeoPhysicalNode * TofROOTGeo::GetPhysicalScin ( int part,
int layer,
int scin )

Get bucket node, 0 for west bucket, 1 for the east one;.

Get scintillator physical node;

◆ GetPhysicalScin() [4/6]

TGeoPhysicalNode * TofROOTGeo::GetPhysicalScin ( int part,
int scin )

Get scintillator physical node;.

Definition at line 311 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

311 {
312 if ( m_PhysicalScin[part][scin] != 0 ) { return m_PhysicalScin[part][scin]; }
313 else
314 {
315 std::cout << "PhysicalNode: "
316 << "Part" << part << "Scin" << scin << " not found" << std::endl;
317 return 0;
318 }
319}

Referenced by GetPart(), Init2DGeometry(), SetDetector(), SetHits(), and SetPhysicalDefaultVis().

◆ GetPhysicalScin() [5/6]

TGeoPhysicalNode * TofROOTGeo::GetPhysicalScin ( int part,
int scin )

Get scintillator physical node;.

◆ GetPhysicalScin() [6/6]

TGeoPhysicalNode * TofROOTGeo::GetPhysicalScin ( int part,
int scin )

Get scintillator physical node;.

◆ GetPVF() [1/3]

TGeoNode * TofROOTGeo::GetPVF ( int part,
int layer,
int scin )

Get PVF node;.

Definition at line 1327 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1327 {
1328 if ( m_NodePVF[part][layer][scin] != 0 ) { return m_NodePVF[part][layer][scin]; }
1329 else
1330 {
1331 std::cout << "Node: "
1332 << "Part" << part << "Layer" << layer << "PVF" << scin << " not found"
1333 << std::endl;
1334 return 0;
1335 }
1336 return m_NodePVF[part][layer][scin];
1337}

◆ GetPVF() [2/3]

TGeoNode * TofROOTGeo::GetPVF ( int part,
int layer,
int scin )

Get PVF node;.

◆ GetPVF() [3/3]

TGeoNode * TofROOTGeo::GetPVF ( int part,
int layer,
int scin )

Get PVF node;.

◆ GetScin() [1/6]

TGeoNode * TofROOTGeo::GetScin ( int part,
int layer )

Get scintillator node;.

◆ GetScin() [2/6]

TGeoNode * TofROOTGeo::GetScin ( int part,
int layer )

Get scintillator node;.

◆ GetScin() [3/6]

TGeoNode * TofROOTGeo::GetScin ( int part,
int layer )

Get scintillator node;.

◆ GetScin() [4/6]

TGeoNode * TofROOTGeo::GetScin ( int part,
int scin )

Get scintillator node;.

Definition at line 269 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

269 {
270 if ( m_NodeScin[part][scin] != 0 ) { return m_NodeScin[part][scin]; }
271 else
272 {
273 std::cout << "Node: "
274 << "Part" << part << "Scin" << scin << " not found" << std::endl;
275 return 0;
276 }
277
278 return m_NodeScin[part][scin];
279}

Referenced by SetAllVisible(), SetDefaultVis(), SetPhysicalNode(), and SetQuarterVisible().

◆ GetScin() [5/6]

TGeoNode * TofROOTGeo::GetScin ( int part,
int scin )

Get scintillator node;.

◆ GetScin() [6/6]

TGeoNode * TofROOTGeo::GetScin ( int part,
int scin )

Get scintillator node;.

◆ GetScinNb() [1/6]

int TofROOTGeo::GetScinNb ( int part)

Get number of scintillators on each part;.

Definition at line 200 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

200 {
201 int nScin = m_kAssemblyBr;
202 if ( part != 1 ) nScin = m_kAssemblyEc;
203 return nScin;
204}

Referenced by Draw(), GetPart(), Init2DGeometry(), SetDetector(), and SetPhysicalDefaultVis().

◆ GetScinNb() [2/6]

int TofROOTGeo::GetScinNb ( int part)

Get number of scintillators on each part;.

◆ GetScinNb() [3/6]

int TofROOTGeo::GetScinNb ( int part)

Get number of scintillators on each part;.

◆ GetScinNb() [4/6]

int TofROOTGeo::GetScinNb ( int part)

Get number of scintillators on each part;.

◆ GetScinNb() [5/6]

int TofROOTGeo::GetScinNb ( int part)

Get number of scintillators on each part;.

◆ GetScinNb() [6/6]

int TofROOTGeo::GetScinNb ( int part)

Get number of scintillators on each part;.

◆ GetStrip() [1/3]

TGeoNode * TofROOTGeo::GetStrip ( int part,
int module,
int strip )

Get strip node;.

Definition at line 1414 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1414 {
1415 if ( m_NodeStrip[part][module][strip] != 0 ) { return m_NodeStrip[part][module][strip]; }
1416 else
1417 {
1418 std::cout << "Node: "
1419 << "Part" << part << "Module" << module << "Strip" << strip << " not found"
1420 << std::endl;
1421 return 0;
1422 }
1423
1424 return m_NodeStrip[part][module][strip];
1425}

◆ GetStrip() [2/3]

TGeoNode * TofROOTGeo::GetStrip ( int part,
int module,
int strip )

Get strip node;.

◆ GetStrip() [3/3]

TGeoNode * TofROOTGeo::GetStrip ( int part,
int module,
int strip )

Get strip node;.

◆ GetStripNb() [1/3]

int TofROOTGeo::GetStripNb ( int module)

Definition at line 1212 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1212{ return m_kStripEc; }

Referenced by Init2DGeometry(), SetDetector(), and SetPhysicalDefaultVis().

◆ GetStripNb() [2/3]

int TofROOTGeo::GetStripNb ( int module)

◆ GetStripNb() [3/3]

int TofROOTGeo::GetStripNb ( int module)

◆ GetVolumeAl() [1/3]

TGeoVolume * TofROOTGeo::GetVolumeAl ( int part,
int layer )

Get Al volume;.

Definition at line 1263 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1263 {
1264 std::stringstream osname;
1265 if ( part == 0 )
1266 {
1267 osname << "logical"
1268 << "AlEcEast";
1269 }
1270 else if ( part == 2 )
1271 {
1272 osname << "logical"
1273 << "AlEcWest";
1274 }
1275 else
1276 {
1277 if ( part == 1 )
1278 {
1279 osname << "logical"
1280 << "AlBr" << layer + 1;
1281 }
1282 }
1283 return GetLogicalVolume( osname.str() );
1284}
TGeoVolume * GetLogicalVolume(const std::string &vn)
Get a logical volume by name;.

Referenced by SetVolumeDefaultVis().

◆ GetVolumeAl() [2/3]

TGeoVolume * TofROOTGeo::GetVolumeAl ( int part,
int layer )

Get Al volume;.

◆ GetVolumeAl() [3/3]

TGeoVolume * TofROOTGeo::GetVolumeAl ( int part,
int layer )

Get Al volume;.

◆ GetVolumeAssembly() [1/3]

TGeoVolumeAssembly * TofROOTGeo::GetVolumeAssembly ( int part)

Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.

Definition at line 206 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

206 {
207 std::stringstream osname;
208 if ( part == 0 || part == 2 )
209 {
210 osname << "logical"
211 << "Tof"
212 << "AssemblyEc";
213 }
214 else
215 {
216 if ( part == 1 )
217 {
218 osname << "logical"
219 << "Tof"
220 << "AssemblyBr";
221 }
222 }
223
224 return GetAssemblyVolume( osname.str() );
225}
TGeoVolumeAssembly * GetAssemblyVolume(const std::string &an)
Get an assembly by name;.

◆ GetVolumeAssembly() [2/3]

TGeoVolumeAssembly * TofROOTGeo::GetVolumeAssembly ( int part)

Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.

◆ GetVolumeAssembly() [3/3]

TGeoVolumeAssembly * TofROOTGeo::GetVolumeAssembly ( int part)

Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.

◆ GetVolumeBucket() [1/6]

TGeoVolume * TofROOTGeo::GetVolumeBucket ( int part)

Get bucket volume;.

Definition at line 248 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

248 {
249 std::stringstream osname;
250 if ( part == 0 || part == 2 )
251 {
252 osname << "logical"
253 << "Tof"
254 << "BucketEc";
255 }
256 else
257 {
258 if ( part == 1 )
259 {
260 osname << "logical"
261 << "Tof"
262 << "BucketBr";
263 }
264 }
265
266 return GetLogicalVolume( osname.str() );
267}

Referenced by SetAllVisible(), SetDefaultVis(), SetQuarterVisible(), and SetVolumeDefaultVis().

◆ GetVolumeBucket() [2/6]

TGeoVolume * TofROOTGeo::GetVolumeBucket ( int part)

Get bucket volume;.

◆ GetVolumeBucket() [3/6]

TGeoVolume * TofROOTGeo::GetVolumeBucket ( int part)

Get bucket volume;.

◆ GetVolumeBucket() [4/6]

TGeoVolume * TofROOTGeo::GetVolumeBucket ( int part,
int layer )

Get bucket volume;.

Definition at line 1309 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1309 {
1310 std::stringstream osname;
1311 if ( part == 0 || part == 2 )
1312 {
1313 osname << "logical"
1314 << "BucketEc";
1315 }
1316 else
1317 {
1318 if ( part == 1 )
1319 {
1320 osname << "logical"
1321 << "BucketBr" << layer + 1;
1322 }
1323 }
1324 return GetLogicalVolume( osname.str() );
1325}

◆ GetVolumeBucket() [5/6]

TGeoVolume * TofROOTGeo::GetVolumeBucket ( int part,
int layer )

Get bucket volume;.

◆ GetVolumeBucket() [6/6]

TGeoVolume * TofROOTGeo::GetVolumeBucket ( int part,
int layer )

Get bucket volume;.

◆ GetVolumePart() [1/3]

TGeoVolume * TofROOTGeo::GetVolumePart ( int part)

Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.

Get part volume;

Definition at line 1232 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1232 {
1233 std::stringstream osname;
1234 if ( part == 1 ) { osname << "logicalBrTof"; }
1235 else if ( part == 0 ) { osname << "logicalEcTofWest"; }
1236 else { osname << "logicalEcTofEast"; }
1237 return GetLogicalVolume( osname.str() );
1238}

Referenced by SetVolumeDefaultVis().

◆ GetVolumePart() [2/3]

TGeoVolume * TofROOTGeo::GetVolumePart ( int part)

Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.

Get part volume;

◆ GetVolumePart() [3/3]

TGeoVolume * TofROOTGeo::GetVolumePart ( int part)

Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.

Get part volume;

◆ GetVolumePVF() [1/3]

TGeoVolume * TofROOTGeo::GetVolumePVF ( int part,
int layer )

Get PVF volume;.

Definition at line 1240 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1240 {
1241 std::stringstream osname;
1242 if ( part == 0 )
1243 {
1244 osname << "logical"
1245 << "PVFEcEast";
1246 }
1247 else if ( part == 2 )
1248 {
1249 osname << "logical"
1250 << "PVFEcWest";
1251 }
1252 else
1253 {
1254 if ( part == 1 )
1255 {
1256 osname << "logical"
1257 << "PVFBr" << layer + 1;
1258 }
1259 }
1260 return GetLogicalVolume( osname.str() );
1261}

Referenced by SetVolumeDefaultVis().

◆ GetVolumePVF() [2/3]

TGeoVolume * TofROOTGeo::GetVolumePVF ( int part,
int layer )

Get PVF volume;.

◆ GetVolumePVF() [3/3]

TGeoVolume * TofROOTGeo::GetVolumePVF ( int part,
int layer )

Get PVF volume;.

◆ GetVolumeScin() [1/6]

TGeoVolume * TofROOTGeo::GetVolumeScin ( int part)

Get scintillator volume;.

Definition at line 227 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

227 {
228 std::stringstream osname;
229 if ( part == 0 || part == 2 )
230 {
231 osname << "logical"
232 << "Tof"
233 << "ScinEc";
234 }
235 else
236 {
237 if ( part == 1 )
238 {
239 osname << "logical"
240 << "Tof"
241 << "ScinBr";
242 }
243 }
244
245 return GetLogicalVolume( osname.str() );
246}

Referenced by SetAllVisible(), SetDefaultVis(), SetQuarterVisible(), and SetVolumeDefaultVis().

◆ GetVolumeScin() [2/6]

TGeoVolume * TofROOTGeo::GetVolumeScin ( int part)

Get scintillator volume;.

◆ GetVolumeScin() [3/6]

TGeoVolume * TofROOTGeo::GetVolumeScin ( int part)

Get scintillator volume;.

◆ GetVolumeScin() [4/6]

TGeoVolume * TofROOTGeo::GetVolumeScin ( int part,
int layer )

Get scintillator volume;.

Definition at line 1286 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1286 {
1287 std::stringstream osname;
1288 if ( part == 0 )
1289 {
1290 osname << "logical"
1291 << "ScinEcEast";
1292 }
1293 else if ( part == 2 )
1294 {
1295 osname << "logical"
1296 << "ScinEcWest";
1297 }
1298 else
1299 {
1300 if ( part == 1 )
1301 {
1302 osname << "logical"
1303 << "ScinBr" << layer + 1;
1304 }
1305 }
1306 return GetLogicalVolume( osname.str() );
1307}

◆ GetVolumeScin() [5/6]

TGeoVolume * TofROOTGeo::GetVolumeScin ( int part,
int layer )

Get scintillator volume;.

◆ GetVolumeScin() [6/6]

TGeoVolume * TofROOTGeo::GetVolumeScin ( int part,
int layer )

Get scintillator volume;.

◆ GetVolumeTof() [1/6]

TGeoVolume * TofROOTGeo::GetVolumeTof ( )
inline

Get Tof volume;.

Definition at line 60 of file DetectorDescription/ROOTGeo/include/ROOTGeo/TofROOTGeo.h.

60{ return m_Tof; }

◆ GetVolumeTof() [2/6]

TGeoVolume * TofROOTGeo::GetVolumeTof ( )
inline

Get Tof volume;.

Definition at line 111 of file EventDisplay/BesVisLib/include/BesVisLib/TofROOTGeo.h.

111{ return m_Tof; }

◆ GetVolumeTof() [3/6]

TGeoVolume * TofROOTGeo::GetVolumeTof ( )
inline

Get Tof volume;.

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

111{ return m_Tof; }

◆ GetVolumeTof() [4/6]

TGeoVolume * TofROOTGeo::GetVolumeTof ( )
inline

Get Tof volume;.

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

60{ return m_Tof; }

◆ GetVolumeTof() [5/6]

TGeoVolume * TofROOTGeo::GetVolumeTof ( )
inline

Get Tof volume;.

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

111{ return m_Tof; }

◆ GetVolumeTof() [6/6]

TGeoVolume * TofROOTGeo::GetVolumeTof ( )
inline

Get Tof volume;.

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

60{ return m_Tof; }

◆ Init2DGeometry() [1/3]

void TofROOTGeo::Init2DGeometry ( )

Initialize 2D Geometry.

Definition at line 121 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

121 {
122 if ( m_ROOTGeoInit != 1 && m_ROOTGeoInit != 2 )
123 {
124 cout << "TofROOTGeo::Init2DGeometry, ROOT Geometry not Initialized yet!" << endl;
125 return;
126 }
127 m_2DGeoInit = 1;
128
129 Double_t local[3] = { 0.0, 0.0, 0.0 };
130 Double_t master[3] = { 0.0, 0.0, 0.0 };
131 // Int_t nPoints = 8;
132 // Double_t P[300] = {0.0};
133 // Double_t center[3] = {0.0, 0.0, 0.0};
134 TString name;
135
136 // Huang Shuhui's update: Tof Mrpc
137 if ( fTofMrpc )
138 {
139 for ( Int_t part = 0; part < m_kPart; part++ )
140 {
141 if ( part == 1 )
142 {
143 for ( Int_t layer = 0; layer < GetLayerNb( part ); layer++ )
144 {
145 for ( int scin = 0; scin < GetScinNb( part ); scin++ )
146 {
147 TGeoPhysicalNode* scinPhyNode = GetPhysicalScin( part, layer, scin );
148 if ( part == 1 )
149 {
150 name = TString( "Tof Part 1" );
151 name += " Layer ";
152 name += layer;
153 name += " Phi ";
154 name += scin;
155 }
156 TGeoArb8* scinShape = (TGeoArb8*)scinPhyNode->GetShape();
157 Double_t *localArb8Point, masterArb8Point[24];
158 localArb8Point = scinShape->GetVertices();
159
160 for ( Int_t i = 0; i < 8; i++ )
161 {
162 local[0] = localArb8Point[2 * i];
163 local[1] = localArb8Point[2 * i + 1];
164 if ( i < 4 ) local[2] = scinShape->GetDz() * ( -1.0 );
165 else local[2] = scinShape->GetDz();
166
167 // cout << i << " local x: " << local[0] << " y: " << local[1] << " z: " <<
168 // local[2] << endl;
169 scinPhyNode->GetMatrix( -1 * scinPhyNode->GetLevel() )
170 ->LocalToMaster( local, &master[0] ); // transform to top
171 // cout << " master x: " << master[0] << " y: " << master[1] << " z: " <<
172 // master[2] << endl;
173
174 for ( Int_t j = 0; j < 3; j++ ) { masterArb8Point[3 * i + j] = master[j]; }
175 }
176
177 m_Tof2DScin[part][layer][scin] =
178 new Tof2DScin( name, name, 8, &masterArb8Point[0], part );
179 } // scin
180 } // layer
181 } // part = 1
182 else
183 {
184 for ( int module = 0; module < GetModuleNb( part ); module++ )
185 {
186 for ( int strip = 0; strip < GetStripNb( part ); strip++ )
187 {
188 TGeoPhysicalNode* mrpcPhyNode = GetPhysicalScin( part, module, strip );
189 if ( part == 0 )
190 {
191 name = TString( "EastEc" );
192 name = TString( "Tof Part" );
193 name += part;
194 name += " Module ";
195 name += module;
196 name += " Strip ";
197 name += strip;
198 }
199 else if ( part == 2 )
200 {
201 name = TString( "WestEc" );
202 name = TString( "Tof Part" );
203 name += part;
204 name += " Module ";
205 name += module;
206 name += " Strip ";
207 name += strip;
208 }
209
210 TGeoTrd2* mrpcShape = (TGeoTrd2*)mrpcPhyNode->GetShape();
211
212 Double_t x1, x2, y1, y2, z;
213 x1 = mrpcShape->GetDx1();
214 x2 = mrpcShape->GetDx2();
215 y1 = mrpcShape->GetDy1() * 500; // *500, make mrpc thick in ZR view
216 y2 = mrpcShape->GetDy2() * 500; // *500, make mrpc thick in ZR view
217 z = mrpcShape->GetDz();
218 Double_t masterArb8Point[24];
219
220 for ( Int_t i = 0; i < 8; i++ )
221 {
222 if ( i == 0 )
223 {
224 local[0] = -x1;
225 local[1] = -y1;
226 local[2] = -z;
227 }
228 else if ( i == 4 )
229 {
230 local[0] = -x1;
231 local[1] = y1;
232 local[2] = -z;
233 }
234 else if ( i == 7 )
235 {
236 local[0] = x1;
237 local[1] = y1;
238 local[2] = -z;
239 }
240 else if ( i == 3 )
241 {
242 local[0] = x1;
243 local[1] = -y1;
244 local[2] = -z;
245 }
246 else if ( i == 1 )
247 {
248 local[0] = -x2;
249 local[1] = -y2;
250 local[2] = z;
251 }
252 else if ( i == 5 )
253 {
254 local[0] = -x2;
255 local[1] = y2;
256 local[2] = z;
257 }
258 else if ( i == 6 )
259 {
260 local[0] = x2;
261 local[1] = y2;
262 local[2] = z;
263 }
264 else if ( i == 2 )
265 {
266 local[0] = x2;
267 local[1] = -y2;
268 local[2] = z;
269 }
270
271 mrpcPhyNode->GetMatrix( -1 * mrpcPhyNode->GetLevel() )
272 ->LocalToMaster( local, &master[0] ); // transform to top
273 for ( Int_t j = 0; j < 3; j++ ) { masterArb8Point[3 * i + j] = master[j]; }
274 }
275
276 m_Tof2DScin[part][module][strip] =
277 new Tof2DScin( name, name, 8, &masterArb8Point[0], part );
278 } // strip
279 } // module
280 } // part = 0/2
281 } // part
282 }
283 else // Old Tof Geometry
284 {
285 // Tof Scintillators
286 for ( Int_t part = 0; part < m_kPart; part++ )
287 {
288 for ( Int_t layer = 0; layer < GetLayerNb( part ); layer++ )
289 {
290 for ( int scin = 0; scin < GetScinNb( part ); scin++ )
291 {
292 TGeoPhysicalNode* scinPhyNode = GetPhysicalScin( part, layer, scin );
293 if ( part == 1 )
294 {
295 name = TString( "Tof Part 1" );
296 name += " Layer ";
297 name += layer;
298 name += " Phi ";
299 name += scin;
300 }
301 else
302 {
303 if ( part == 0 ) name = TString( "EastEc" );
304 else if ( part == 2 ) name = TString( "WestEc" );
305 name = TString( "Tof Part " );
306 name += part;
307 name += " Phi ";
308 name += scin;
309 }
310 TGeoArb8* scinShape = (TGeoArb8*)scinPhyNode->GetShape();
311 Double_t *localArb8Point, masterArb8Point[24];
312 localArb8Point = scinShape->GetVertices();
313
314 for ( Int_t i = 0; i < 8; i++ )
315 {
316 local[0] = localArb8Point[2 * i];
317 local[1] = localArb8Point[2 * i + 1];
318 if ( i < 4 ) local[2] = scinShape->GetDz() * ( -1.0 );
319 else local[2] = scinShape->GetDz();
320
321 // cout << i << " local x: " << local[0] << " y: " << local[1] << " z: " <<
322 // local[2] << endl;
323 scinPhyNode->GetMatrix( -1 * scinPhyNode->GetLevel() )
324 ->LocalToMaster( local, &master[0] ); // transform to top
325 // cout << " master x: " << master[0] << " y: " << master[1] << " z: " << master[2]
326 // << endl;
327
328 for ( Int_t j = 0; j < 3; j++ ) { masterArb8Point[3 * i + j] = master[j]; }
329 }
330
331 m_Tof2DScin[part][layer][scin] =
332 new Tof2DScin( name, name, 8, &masterArb8Point[0], part );
333 }
334 } // scin
335 } // layer
336 } // part
337}

◆ Init2DGeometry() [2/3]

void TofROOTGeo::Init2DGeometry ( )

Initialize 2D Geometry.

◆ Init2DGeometry() [3/3]

void TofROOTGeo::Init2DGeometry ( )

Initialize 2D Geometry.

◆ InitFromGDML() [1/3]

void TofROOTGeo::InitFromGDML ( const char * gdmlFile,
const char * setupName )

Initialize ROOTGeo from GDML.

Definition at line 91 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

91 {
92 m_ROOTGeoInit = 2;
93
94 // Huang Shuhui's update: Load in Tof_mrpc Gdml Geometry, set fTofMrpc flag
95 fTofMrpc = 0;
96 if ( TString( gdmlFile ).Contains( "Tof_mrpc.gdml" ) ) fTofMrpc = 1;
97 else cout << "Cannot read Tof_mrpc!" << endl;
98 if ( fTofMrpc )
99 cout << "fTofMrpc: "
100 << "Using new Geometry of Tof!" << endl;
101
102 ReadGdml( gdmlFile, setupName );
103 SetNode();
104}
void ReadGdml(const char *gdmlFile, const char *setupName)
Initialize the instance of ROOTGeo.
void SetNode()
Set the pointers to theirs nodes;.

◆ InitFromGDML() [2/3]

void TofROOTGeo::InitFromGDML ( const char * gdmlFile,
const char * setupName )

Initialize ROOTGeo from GDML.

◆ InitFromGDML() [3/3]

void TofROOTGeo::InitFromGDML ( const char * gdmlFile,
const char * setupName )

Initialize ROOTGeo from GDML.

◆ InitFromGdml() [1/3]

void TofROOTGeo::InitFromGdml ( const char * gdmlFile,
const char * setupName )

Initialize the instance of ROOTGeo.

Definition at line 38 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

38 {
39 ReadGdml( gdmlFile, setupName );
40 SetNode();
42
43 m_ROOTGeoInit = 1;
44}
void SetDefaultVis()
Set default visual attributes;.

◆ InitFromGdml() [2/3]

void TofROOTGeo::InitFromGdml ( const char * gdmlFile,
const char * setupName )

Initialize the instance of ROOTGeo.

◆ InitFromGdml() [3/3]

void TofROOTGeo::InitFromGdml ( const char * gdmlFile,
const char * setupName )

Initialize the instance of ROOTGeo.

◆ InitFromROOT() [1/3]

void TofROOTGeo::InitFromROOT ( TGeoVolume * vol)

Initialize ROOTGeo from TGeoVolume logicalTof.

Definition at line 106 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

106 {
107 m_ROOTGeoInit = 1;
108
109 // Huang Shuhui's update: To judge MRPC
110 fTofMrpc = 0;
111 TGeoNode* contianer = vol->GetNode( 0 )->GetVolume()->GetNode( 0 );
112 if ( TString( contianer->GetName() ).Contains( "container" ) ) fTofMrpc = 1;
113 if ( fTofMrpc )
114 cout << "fTofMrpc: "
115 << "Using new Geometry of Tof!" << endl;
116
117 SetVolumeTof( vol );
118 SetNode();
119}
void SetVolumeTof(TGeoVolume *vol)
Set Tof volume, while initializing from ROOT;.

◆ InitFromROOT() [2/3]

void TofROOTGeo::InitFromROOT ( TGeoVolume * vol)

Initialize ROOTGeo from TGeoVolume logicalTof.

◆ InitFromROOT() [3/3]

void TofROOTGeo::InitFromROOT ( TGeoVolume * vol)

Initialize ROOTGeo from TGeoVolume logicalTof.

◆ SetAllVisible() [1/6]

void TofROOTGeo::SetAllVisible ( )

Set all visible;.

Definition at line 121 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

121 {
122 for ( int part = 0; part < m_kPart; part++ )
123 {
124 GetVolumeScin( part )->SetVisibility( 1 );
125 GetVolumeBucket( part )->SetVisibility( 1 );
126
127 int nScin = 0;
128 if ( part == 1 ) nScin = m_kAssemblyBr;
129 else nScin = m_kAssemblyEc;
130 for ( int scin = 0; scin < nScin; scin++ )
131 {
132 GetScin( part, scin )->SetVisibility( 1 );
133
134 int nBucket = 0;
135 if ( part == 1 ) nBucket = m_kBucketBr;
136 else nBucket = m_kBucketEc;
137 for ( int bucket = 0; bucket < nBucket; bucket++ )
138 { GetBucket( part, scin, bucket )->SetVisibility( 1 ); }
139 }
140 }
141}
TGeoVolume * GetVolumeScin(int part)
Get scintillator volume;.
TGeoVolume * GetVolumeBucket(int part)
Get bucket volume;.
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;.

◆ SetAllVisible() [2/6]

void TofROOTGeo::SetAllVisible ( )

Set all visible;.

◆ SetAllVisible() [3/6]

void TofROOTGeo::SetAllVisible ( )

Set all visible;.

◆ SetAllVisible() [4/6]

void TofROOTGeo::SetAllVisible ( )

Set all visible;.

◆ SetAllVisible() [5/6]

void TofROOTGeo::SetAllVisible ( )

Set all visible;.

◆ SetAllVisible() [6/6]

void TofROOTGeo::SetAllVisible ( )

Set all visible;.

◆ SetDefaultVis() [1/3]

void TofROOTGeo::SetDefaultVis ( )

Set default visual attributes;.

Definition at line 88 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

88 {
89 // std::cout << "begin of set defaultvis" << std::endl;
90 int tofColor = 2;
91 int scinColor = 6;
92 int bucketColor = 4;
93
94 m_Tof->SetLineColor( tofColor );
95 m_Tof->SetVisibility( 0 );
96
97 for ( int part = 0; part < m_kPart; part++ )
98 {
99 GetVolumeScin( part )->SetLineColor( scinColor );
100 GetVolumeScin( part )->SetVisibility( 1 );
101 GetVolumeBucket( part )->SetLineColor( bucketColor );
102 GetVolumeBucket( part )->SetVisibility( 0 );
103
104 int nScin = 0;
105 if ( part == 1 ) nScin = m_kAssemblyBr;
106 else nScin = m_kAssemblyEc;
107 for ( int scin = 0; scin < nScin; scin++ )
108 {
109 GetScin( part, scin )->SetVisibility( 0 );
110
111 int nBucket = 0;
112 if ( part == 1 ) nBucket = m_kBucketBr;
113 else nBucket = m_kBucketEc;
114 for ( int bucket = 0; bucket < nBucket; bucket++ )
115 { GetBucket( part, scin, bucket )->SetVisibility( 0 ); }
116 }
117 }
118 // std::cout << "end of set defaultvis" << std::endl;
119}

Referenced by InitFromGdml().

◆ SetDefaultVis() [2/3]

void TofROOTGeo::SetDefaultVis ( )

Set default visual attributes;.

◆ SetDefaultVis() [3/3]

void TofROOTGeo::SetDefaultVis ( )

Set default visual attributes;.

◆ SetDetector() [1/3]

void TofROOTGeo::SetDetector ( )

Draw Detecor (what is detector depends on you).

Definition at line 887 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

887 {
888 BesView* view = 0;
889 if ( gPad ) view = dynamic_cast<BesView*>( gPad->GetView() );
890 // if (view) cout << "viewVisFull3DTof " << view->GetVisFull3DTof() << endl;
891 m_DetectorsArray->Clear();
892
893 // Long Peixun's update: for Tof Mrpc
894 if ( fTofMrpc )
895 {
896 for ( int part = 0; part < m_kPart; part++ )
897 {
898 if ( part == 1 )
899 {
900 for ( int layer = 0; layer < GetLayerNb( part ); layer++ )
901 {
902 for ( int scin = 0; scin < GetScinNb( part ); scin++ )
903 {
904 TGeoPhysicalNode* phyNode = 0;
905 phyNode = GetPhysicalScin( part, layer, scin );
906 if ( phyNode )
907 {
908 phyNode->SetVisibility( 0 ); // set all invisible before set any visible
909 m_DetectorsArray->Add( phyNode );
910 }
911 }
912 }
913 }
914 else
915 {
916 for ( int module = 0; module < GetModuleNb( part ); module++ )
917 {
918 for ( int strip = 0; strip < GetStripNb( module ); strip++ )
919 {
920 TGeoPhysicalNode* phyNode = 0;
921 phyNode = GetPhysicalScin( part, module, strip );
922 if ( phyNode )
923 {
924 phyNode->SetVisibility( 0 ); // set all invisible before set any visible
925 m_DetectorsArray->Add( phyNode );
926 }
927 }
928 }
929 }
930 }
931 }
932 else
933 {
934 for ( int part = 0; part < m_kPart; part++ )
935 {
936 for ( int layer = 0; layer < GetLayerNb( part ); layer++ )
937 {
938 for ( int scin = 0; scin < GetScinNb( part ); scin++ )
939 {
940 TGeoPhysicalNode* phyNode = 0;
941 phyNode = GetPhysicalScin( part, layer, scin );
942 if ( phyNode )
943 {
944 phyNode->SetVisibility( 0 ); // set all invisible before set any visible
945 // Long Peixun's update: Remove useless judgement
946 // if (part == 2 ||
947 // (scin >= GetScinNb(part)*0/4 && scin < GetScinNb(part)*8/8)) {
948 m_DetectorsArray->Add( phyNode );
949 // }
950 // else if (view && view->GetVisFull3DTof()) {
951 // m_DetectorsArray->Add( phyNode );
952 // }
953 }
954 }
955 }
956 }
957 }
958}

◆ SetDetector() [2/3]

void TofROOTGeo::SetDetector ( )

Draw Detecor (what is detector depends on you).

◆ SetDetector() [3/3]

void TofROOTGeo::SetDetector ( )

Draw Detecor (what is detector depends on you).

◆ SetHalfVisible() [1/3]

void TofROOTGeo::SetHalfVisible ( )

Set half visible;.

Definition at line 741 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

741 {
742 /*
743 for (int part = 0; part < m_kPart; part++) {
744 GetVolumeScin(part)->SetVisibility(1);
745 GetVolumeBucket(part)->SetVisibility(1);
746
747 int nScin = 0;
748 if (part == 1) nScin = m_kAssemblyBr;
749 else nScin = m_kAssemblyEc;
750 for (int scin = 0; scin < nScin; scin++) {
751 if (scin < nScin/4+1 ||
752 scin > nScin*3/4 ) GetScin(part, scin)->SetVisibility(1);
753 else GetScin(part, scin)->SetVisibility(0);
754
755 int nBucket = 0;
756 if (part == 1) nBucket = m_kBucketBr;
757 else nBucket = m_kBucketEc;
758 for (int bucket = 0; bucket < nBucket; bucket++) {
759 if (scin < nScin/4+1 ||
760 scin > nScin*3/4 ) GetBucket(part, scin, bucket)->SetVisibility(1);
761 else GetBucket(part, scin, bucket)->SetVisibility(0);
762 }
763 }
764 }
765 */
766}

◆ SetHalfVisible() [2/3]

void TofROOTGeo::SetHalfVisible ( )

Set half visible;.

◆ SetHalfVisible() [3/3]

void TofROOTGeo::SetHalfVisible ( )

Set half visible;.

◆ SetHits() [1/3]

void TofROOTGeo::SetHits ( )

Set all physicalNodes corresponding to digiCol;.

Definition at line 960 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

960 {
961 // set previous event hits to default vis
962 for ( int i = 0; i < m_HitsArray->GetEntries(); i++ )
963 {
964 TGeoPhysicalNode* phyNode = (TGeoPhysicalNode*)m_HitsArray->At( i );
965 if ( phyNode )
966 {
967 // phyNode->SetLineColor(m_ScinColor);
968 phyNode->SetVisibility( 0 );
969 }
970 }
971 m_HitsArray->Clear( "C" );
972
973 // set previous event 2D hits info to default
974 for ( int i = 0; i < m_2DHitsArray->GetEntries(); i++ )
975 {
976 Tof2DScin* aScin = (Tof2DScin*)m_2DHitsArray->At( i );
977 aScin->ClearInfo();
978 aScin->AddInfo( aScin->GetTitle() );
979 aScin->CloseInfo();
980 aScin->ResetTimeCharge();
981 }
982 m_2DHitsArray->Clear( "C" );
983
984 // Long Peixun's update: Consider gEvent == NULL
985 int NDigiCol = 0;
986 if ( gEvent )
987 {
988 m_TofDigiCol = gEvent->GetTofDigiCol();
989 // Long Peixun's update: Consider m_TofDigiCol == NULL
990 if ( m_TofDigiCol ) NDigiCol = m_TofDigiCol->GetEntries();
991 else NDigiCol = 0;
992 }
993
994 for ( int i = 0; i < NDigiCol; i++ )
995 {
996 TTofDigi* aTofDigi = (TTofDigi*)m_TofDigiCol->At( i );
997 Identifier atofID( aTofDigi->getIntId() );
998 int part, layer, scin;
999
1000 if ( fTofMrpc )
1001 { // Huang Shuhui's update: for Tof_mrpc hits
1002 part = TofID::barrel_ec( atofID );
1003 if ( part == 1 )
1004 {
1005 layer = TofID::layer( atofID );
1006 scin = TofID::phi_module( atofID );
1007 }
1008 else
1009 {
1010 // In BOSS 7.0.3
1011 int part_Ec = TofID::endcap( atofID );
1012 if ( part_Ec == 0 ) part = 0;
1013 else part = 2;
1014 layer = TofID::module( atofID );
1015 scin = TofID::strip( atofID );
1016
1017 // In CgemBOSS 6.6.5.b
1018 // int part_Ec = TofID::end(atofID);
1019 // if (part_Ec == 0) part = 0;
1020 // else part = 2;
1021 // layer = TofID::layer(atofID);
1022 // scin = TofID::phi_module(atofID);
1023 }
1024 }
1025 else
1026 {
1027 part = TofID::barrel_ec( atofID );
1028 layer = TofID::layer( atofID );
1029 scin = TofID::phi_module( atofID );
1030 }
1031
1032 if ( layer < 0 || scin < 0 )
1033 {
1034 std::cout << "TofROOTGeo::SetHits() error: "
1035 << " part=" << part << " layer=" << layer << " scin=" << scin << std::endl;
1036 continue;
1037 }
1038
1039 // Long Peixun has a question: Do we need to divide by TOF_*_FACTOR?
1040 Double_t charge = Double_t( aTofDigi->getChargeChannel() ) / TOF_CHARGE_FACTOR;
1041 Double_t time = Double_t( aTofDigi->getTimeChannel() ) / TOF_TIME_FACTOR;
1042 // Double_t charge = RawDataUtil::TofCharge(aTofDigi->getChargeChannel());
1043 // Double_t time = RawDataUtil::TofTime(aTofDigi->getTimeChannel());
1044
1045 TGeoPhysicalNode* phyNode = 0;
1046 phyNode = GetPhysicalScin( part, layer, scin );
1047 if ( phyNode ) { m_HitsArray->Add( phyNode ); }
1048
1049 Tof2DScin* aScin = 0;
1050 aScin = m_Tof2DScin[part][layer][scin];
1051 if ( aScin )
1052 {
1053 char data[100];
1054
1055 if ( fTofMrpc )
1056 { // Huang Shuhui's update: for Tof_mrpc hits
1057 if ( part != 1 )
1058 {
1059 if ( aScin->GetCharge() == 0.0 )
1060 {
1061 aScin->ClearInfo();
1062 aScin->AddInfo( aScin->GetTitle() );
1063 // Long Peixun's update: Subscript index
1064 sprintf( data, "t_{leading1} = %-.3f ns, t_{trailing1} = %-.3f ns", time, charge );
1065 aScin->AddInfo( TString( data ) );
1066 }
1067 else
1068 {
1069 // Long Peixun's update: Subscript index
1070 sprintf( data, "t_{leading2} = %-.3f ns, t_{trailing2} = %-.3f ns", time, charge );
1071 aScin->AddInfo( TString( data ) );
1072 sprintf( data, "Fired" );
1073 aScin->AddInfo( TString( data ) );
1074 }
1075 }
1076 else
1077 {
1078 if ( aScin->GetCharge() == 0.0 )
1079 {
1080 aScin->ClearInfo();
1081 aScin->AddInfo( aScin->GetTitle() );
1082 sprintf( data, "time1 = %-.3f ns, charge1 = %-.3f MeV", time, charge );
1083 aScin->AddInfo( TString( data ) );
1084 }
1085 else
1086 {
1087 sprintf( data, "time2 = %-.3f ns, charge2 = %-.3f MeV", time, charge );
1088 aScin->AddInfo( TString( data ) );
1089 sprintf( data, "Fired" );
1090 aScin->AddInfo( TString( data ) );
1091 }
1092 }
1093 }
1094 else
1095 {
1096 if ( aScin->GetCharge() == 0.0 )
1097 {
1098 aScin->ClearInfo();
1099 aScin->AddInfo( aScin->GetTitle() );
1100 sprintf( data, "time1 = %-.3f ns, charge1 = %-.3f MeV", time, charge );
1101 aScin->AddInfo( TString( data ) );
1102 }
1103 else
1104 {
1105 sprintf( data, "time2 = %-.3f ns, charge2 = %-.3f MeV", time, charge );
1106 aScin->AddInfo( TString( data ) );
1107 sprintf( data, "Fired" );
1108 aScin->AddInfo( TString( data ) );
1109 }
1110 }
1111
1112 aScin->CloseInfo();
1113 aScin->SetCharge( aScin->GetCharge() + charge );
1114 // Long Peixun's update: Set raw channel data of aScin
1115 aScin->SetTimeChannel( aTofDigi->getTimeChannel() );
1116 aScin->SetChargeChannel( aTofDigi->getChargeChannel() );
1117 m_2DHitsArray->Add( aScin );
1118 }
1119 }
1120}
sprintf(cut, "kal_costheta0_em>-0.93&&kal_costheta0_em<0.93&&kal_pxy0_em>=0.05+%d*0.1&&kal_" "pxy0_em<0.15+%d*0.1&&NGch>=2", j, j)
TTree * data
Double_t time
UInt_t getIntId() const
Definition TRawData.cxx:42
UInt_t getChargeChannel() const
Definition TRawData.cxx:48
UInt_t getTimeChannel() const
Definition TRawData.cxx:45
virtual void SetCharge(Double_t charge)
virtual void CloseInfo()
virtual void ClearInfo()
static int endcap(const Identifier &id)
Definition TofID.cxx:108
static int strip(const Identifier &id)
Definition TofID.cxx:120
static int phi_module(const Identifier &id)
Definition TofID.cxx:65
static int barrel_ec(const Identifier &id)
Values of different levels (failure returns 0).
Definition TofID.cxx:54
static int layer(const Identifier &id)
Definition TofID.cxx:59
static int module(const Identifier &id)
Definition TofID.cxx:114

◆ SetHits() [2/3]

void TofROOTGeo::SetHits ( )

Set all physicalNodes corresponding to digiCol;.

◆ SetHits() [3/3]

void TofROOTGeo::SetHits ( )

Set all physicalNodes corresponding to digiCol;.

◆ SetNode() [1/6]

void TofROOTGeo::SetNode ( )

Set the pointers to theirs nodes;.

Definition at line 46 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

46 {
47 m_Tof = GetTopVolume();
48 if ( !m_Tof ) std::cout << "m_Tof = 0" << std::endl;
49
50 for ( int part = 0; part < m_kPart; part++ )
51 {
52 int nScin = 0;
53 if ( part == 1 ) nScin = m_kAssemblyBr;
54 else nScin = m_kAssemblyEc;
55 for ( int scin = 0; scin < nScin; scin++ )
56 {
57 std::stringstream osname;
58 if ( part == 0 )
59 {
60 osname << "pv_"
61 << "logical"
62 << "Tof"
63 << "ScinEc"
64 << "_" << m_kAssemblyBr + m_kAssemblyEc + scin << "_0";
65 }
66 else if ( part == 1 )
67 {
68 osname << "pv_"
69 << "logical"
70 << "Tof"
71 << "ScinBr"
72 << "_" << scin << "_0";
73 }
74 else if ( part == 2 )
75 {
76 osname << "pv_"
77 << "logical"
78 << "Tof"
79 << "ScinEc"
80 << "_" << m_kAssemblyBr + scin << "_0";
81 }
82
83 m_NodeScin[part][scin] = GetNode( osname.str() );
84 }
85 }
86}

Referenced by InitFromGDML(), InitFromGdml(), and InitFromROOT().

◆ SetNode() [2/6]

void TofROOTGeo::SetNode ( )

Set the pointers to theirs nodes;.

◆ SetNode() [3/6]

void TofROOTGeo::SetNode ( )

Set the pointers to theirs nodes;.

◆ SetNode() [4/6]

void TofROOTGeo::SetNode ( )

Set the pointers to theirs nodes;.

◆ SetNode() [5/6]

void TofROOTGeo::SetNode ( )

Set the pointers to theirs nodes;.

◆ SetNode() [6/6]

void TofROOTGeo::SetNode ( )

Set the pointers to theirs nodes;.

◆ SetNoEndVisible() [1/3]

void TofROOTGeo::SetNoEndVisible ( )

Set noend visible;.

Definition at line 768 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

768 {
769 /*
770 int part = 1;
771 GetVolumeScin(0)->SetVisibility(1);
772 GetVolumeBucket(0)->SetVisibility(1);
773
774 int nScin = 0;
775 nScin = m_kAssemblyBr;
776 for (int scin = 0; scin < nScin; scin++) {
777 GetScin(part, scin)->SetVisibility(1);
778
779 int nBucket = 0;
780 nBucket = m_kBucketBr;
781 for (int bucket = 0; bucket < nBucket; bucket++) {
782 GetBucket(part, scin, bucket)->SetVisibility(1);
783 }
784 }
785 */
786}

◆ SetNoEndVisible() [2/3]

void TofROOTGeo::SetNoEndVisible ( )

Set noend visible;.

◆ SetNoEndVisible() [3/3]

void TofROOTGeo::SetNoEndVisible ( )

Set noend visible;.

◆ SetPhysicalDefaultVis() [1/3]

void TofROOTGeo::SetPhysicalDefaultVis ( )

Definition at line 653 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

653 {
654 if ( fTofMrpc )
655 { // Tof with MRPC
656 for ( int part = 0; part < m_kPart; part++ )
657 {
658 if ( part == 1 )
659 {
660 for ( int layer = 0; layer < GetLayerNb( part ); layer++ )
661 {
662 for ( int scin = 0; scin < GetScinNb( part ); scin++ )
663 GetPhysicalScin( part, layer, scin )->SetLineColor( m_ScinColor );
664 }
665 }
666 else
667 {
668 for ( int module = 0; module < GetModuleNb( part ); module++ )
669 {
670 for ( int strip = 0; strip < GetStripNb( module ); strip++ )
671 GetPhysicalScin( part, module, strip );
672 }
673 }
674 }
675 }
676 else
677 { // Old Tof
678 for ( int part = 0; part < m_kPart; part++ )
679 {
680 for ( int layer = 0; layer < GetLayerNb( part ); layer++ )
681 {
682 for ( int scin = 0; scin < GetScinNb( part ); scin++ )
683 GetPhysicalScin( part, layer, scin )->SetLineColor( m_ScinColor );
684 }
685 }
686 }
687}

◆ SetPhysicalDefaultVis() [2/3]

void TofROOTGeo::SetPhysicalDefaultVis ( )

◆ SetPhysicalDefaultVis() [3/3]

void TofROOTGeo::SetPhysicalDefaultVis ( )

◆ SetPhysicalNode() [1/6]

void TofROOTGeo::SetPhysicalNode ( )

Set the pointers to the physical nodes;.

Definition at line 169 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

169 {
170 int scinColor = 6;
171
172 if ( gGeoManager == 0 ) std::cout << "Create gGeoManager first" << std::endl;
173 TGeoNode* bes = gGeoManager->GetTopNode();
174 // std::cout << "m_childNo " << m_childNo << std::endl;
175 TGeoNode* tof = bes->GetDaughter( m_childNo );
176
177 for ( int part = 0; part < m_kPart; part++ )
178 {
179 int nScin = 0;
180 if ( part == 1 ) nScin = m_kAssemblyBr;
181 else nScin = m_kAssemblyEc;
182 for ( int scin = 0; scin < nScin; scin++ )
183 {
184 TGeoNode* nodeScin = GetScin( part, scin );
185 m_PhysicalScin[part][scin] = gGeoManager->MakePhysicalNode(
186 TString( "/" ) + bes->GetName() + TString( "/" ) + tof->GetName() + TString( "/" ) +
187 nodeScin->GetName() );
188 m_PhysicalScin[part][scin]->SetVisibility( 0 );
189 m_PhysicalScin[part][scin]->SetIsVolAtt( kFALSE );
190 m_PhysicalScin[part][scin]->SetLineColor( scinColor );
191 }
192 }
193}

◆ SetPhysicalNode() [2/6]

void TofROOTGeo::SetPhysicalNode ( )

Set the pointers to the physical nodes;.

◆ SetPhysicalNode() [3/6]

void TofROOTGeo::SetPhysicalNode ( )

Set the pointers to the physical nodes;.

◆ SetPhysicalNode() [4/6]

void TofROOTGeo::SetPhysicalNode ( )

Set the pointers to the physical nodes;.

◆ SetPhysicalNode() [5/6]

void TofROOTGeo::SetPhysicalNode ( )

Set the pointers to the physical nodes;.

◆ SetPhysicalNode() [6/6]

void TofROOTGeo::SetPhysicalNode ( )

Set the pointers to the physical nodes;.

◆ SetQMatch() [1/3]

void TofROOTGeo::SetQMatch ( Bool_t input = false)

Definition at line 691 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

691{ k_QMatch = input; }

◆ SetQMatch() [2/3]

void TofROOTGeo::SetQMatch ( Bool_t input)

◆ SetQMatch() [3/3]

void TofROOTGeo::SetQMatch ( Bool_t input)

◆ SetQuarterVisible() [1/6]

void TofROOTGeo::SetQuarterVisible ( )

Set quater visible;.

Definition at line 143 of file DetectorDescription/ROOTGeo/src/TofROOTGeo.cxx.

143 {
144 for ( int part = 0; part < m_kPart; part++ )
145 {
146 GetVolumeScin( part )->SetVisibility( 1 );
147 GetVolumeBucket( part )->SetVisibility( 1 );
148
149 int nScin = 0;
150 if ( part == 1 ) nScin = m_kAssemblyBr;
151 else nScin = m_kAssemblyEc;
152 for ( int scin = 0; scin < nScin; scin++ )
153 {
154 if ( scin < nScin / 4 ) GetScin( part, scin )->SetVisibility( 0 );
155 else GetScin( part, scin )->SetVisibility( 1 );
156
157 int nBucket = 0;
158 if ( part == 1 ) nBucket = m_kBucketBr;
159 else nBucket = m_kBucketEc;
160 for ( int bucket = 0; bucket < nBucket; bucket++ )
161 {
162 if ( scin < nScin / 4 ) GetBucket( part, scin, bucket )->SetVisibility( 0 );
163 else GetBucket( part, scin, bucket )->SetVisibility( 1 );
164 }
165 }
166 }
167}

◆ SetQuarterVisible() [2/6]

void TofROOTGeo::SetQuarterVisible ( )

Set quater visible;.

◆ SetQuarterVisible() [3/6]

void TofROOTGeo::SetQuarterVisible ( )

Set quater visible;.

◆ SetQuarterVisible() [4/6]

void TofROOTGeo::SetQuarterVisible ( )

Set quater visible;.

◆ SetQuarterVisible() [5/6]

void TofROOTGeo::SetQuarterVisible ( )

Set quater visible;.

◆ SetQuarterVisible() [6/6]

void TofROOTGeo::SetQuarterVisible ( )

Set quater visible;.

◆ SetTMatch() [1/3]

void TofROOTGeo::SetTMatch ( Bool_t input = false)

Definition at line 689 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

689{ k_TMatch = input; }

◆ SetTMatch() [2/3]

void TofROOTGeo::SetTMatch ( Bool_t input)

◆ SetTMatch() [3/3]

void TofROOTGeo::SetTMatch ( Bool_t input)

◆ SetVisTofDetector() [1/3]

void TofROOTGeo::SetVisTofDetector ( )

Set Tof detector visibility;.

Definition at line 1122 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1122 {
1123 /*
1124 for (int part = 0; part < m_kPart; part++) {
1125 for (int layer = 0; layer < GetLayerNb(part); layer++) {
1126 for (int scin = 0; scin < GetScinNb(part); scin++) {
1127 TGeoPhysicalNode *phyNode = GetPhysicalScin(part, layer, scin);
1128 if (phyNode) phyNode->SetLineColor(m_ScinColor);
1129 }
1130 }
1131 }
1132 */
1133
1134 BesView* view = 0;
1135 if ( gPad ) view = dynamic_cast<BesView*>( gPad->GetView() );
1136
1137 // cout << "VisTofEast " << view->GetVisTofEast() << endl;
1138 for ( int i = 0; i < m_DetectorsArray->GetEntries(); i++ )
1139 {
1140 TGeoPhysicalNode* phyNode = (TGeoPhysicalNode*)m_DetectorsArray->At( i );
1141 phyNode->SetVisibility( 0 );
1142 if ( view && view->GetVisTofGlobal() )
1143 {
1144 int part = GetPart( phyNode );
1145 if ( part == 0 && view->GetVisTofEast() || part == 1 && view->GetVisTofBarrel() ||
1146 part == 2 && view->GetVisTofWest() )
1147 phyNode->SetVisibility( 1 );
1148 }
1149 }
1150}
Int_t GetPart(TGeoPhysicalNode *phyNode)
Get part no of a scintillator physcial node.

◆ SetVisTofDetector() [2/3]

void TofROOTGeo::SetVisTofDetector ( )

Set Tof detector visibility;.

◆ SetVisTofDetector() [3/3]

void TofROOTGeo::SetVisTofDetector ( )

Set Tof detector visibility;.

◆ SetVisTofHits() [1/3]

void TofROOTGeo::SetVisTofHits ( )

Set Tof hits visibility;.

Definition at line 1152 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

1152 {
1153 BesView* view = 0;
1154 if ( gPad ) view = dynamic_cast<BesView*>( gPad->GetView() );
1155
1156 for ( int i = 0; i < m_HitsArray->GetEntries(); i++ )
1157 {
1158 TGeoPhysicalNode* phyNode = (TGeoPhysicalNode*)m_HitsArray->At( i );
1159 if ( phyNode )
1160 {
1161 int part = GetPart( phyNode );
1162 if ( view && view->GetVisTofHitsGlobal() )
1163 {
1164 if ( part == 0 && view->GetVisTofHitsEast() ||
1165 part == 1 && view->GetVisTofHitsBarrel() ||
1166 part == 2 && view->GetVisTofHitsWest() )
1167 {
1168 phyNode->SetVisibility( 1 );
1169 phyNode->SetLineColor( 801 ); // Long Peixun's update: Green -> Orange
1170 continue;
1171 }
1172 }
1173 // Long Peixun's update: Unfired visibility should be determined by Detector option
1174 // rather than His option phyNode->SetVisibility(0);
1175 if ( part > -1 ) phyNode->SetLineColor( m_ScinColor );
1176 }
1177 }
1178}

◆ SetVisTofHits() [2/3]

void TofROOTGeo::SetVisTofHits ( )

Set Tof hits visibility;.

◆ SetVisTofHits() [3/3]

void TofROOTGeo::SetVisTofHits ( )

Set Tof hits visibility;.

◆ SetVolumeDefaultVis() [1/3]

void TofROOTGeo::SetVolumeDefaultVis ( )

Set default visual attributes;.

Definition at line 624 of file EventDisplay/BesVisLib/src/TofROOTGeo.cxx.

624 {
625 // std::cout << "begin of set defaultvis" << std::endl;
626
627 m_Tof->SetLineColor( m_TofColor );
628 m_Tof->SetVisibility( 0 );
629
630 for ( int part = 0; part < m_kPart; part++ )
631 {
632 GetVolumePart( part )->SetLineColor( m_ScinColor );
633 GetVolumePart( part )->SetVisibility( 0 );
634 for ( int layer = 0; layer < GetLayerNb( part ); layer++ )
635 {
636 GetVolumePVF( part, layer )->SetLineColor( m_ScinColor );
637 GetVolumePVF( part, layer )->SetVisibility( 0 );
638
639 GetVolumeAl( part, layer )->SetLineColor( m_ScinColor );
640 GetVolumeAl( part, layer )->SetVisibility( 0 );
641
642 GetVolumeScin( part, layer )->SetLineColor( m_ScinColor );
643 GetVolumeScin( part, layer )->SetVisibility( 0 );
644
645 GetVolumeBucket( part, layer )->SetLineColor( m_BucketColor );
646 GetVolumeBucket( part, layer )->SetVisibility( 0 );
647 }
648 }
649 // std::cout << "end of set defaultvis" << std::endl;
650}
TGeoVolume * GetVolumeAl(int part, int layer)
Get Al volume;.
TGeoVolume * GetVolumePart(int part)
Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.
TGeoVolume * GetVolumePVF(int part, int layer)
Get PVF volume;.

◆ SetVolumeDefaultVis() [2/3]

void TofROOTGeo::SetVolumeDefaultVis ( )

Set default visual attributes;.

◆ SetVolumeDefaultVis() [3/3]

void TofROOTGeo::SetVolumeDefaultVis ( )

Set default visual attributes;.

◆ SetVolumeTof() [1/3]

void TofROOTGeo::SetVolumeTof ( TGeoVolume * vol)
inline

Set Tof volume, while initializing from ROOT;.

Definition at line 108 of file EventDisplay/BesVisLib/include/BesVisLib/TofROOTGeo.h.

108{ m_Tof = vol; }

Referenced by InitFromROOT().

◆ SetVolumeTof() [2/3]

void TofROOTGeo::SetVolumeTof ( TGeoVolume * vol)
inline

Set Tof volume, while initializing from ROOT;.

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

108{ m_Tof = vol; }

◆ SetVolumeTof() [3/3]

void TofROOTGeo::SetVolumeTof ( TGeoVolume * vol)
inline

Set Tof volume, while initializing from ROOT;.

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

108{ m_Tof = vol; }

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