#include <TofROOTGeo.h>
Inheritance diagram for TofROOTGeo:
Public Member Functions | |
void | Draw (Option_t *option) |
Draw function. | |
void | Draw (Option_t *option) |
Draw function. | |
void | DrawHits (Option_t *option) |
Draw 2D hits. | |
void | DrawHits (Option_t *option) |
Draw 2D hits. | |
Tof2DScin * | Get2DScin (Int_t part, Int_t layer, Int_t scin) |
Get Tof2DScin;. | |
Tof2DScin * | Get2DScin (Int_t part, Int_t layer, Int_t scin) |
Get Tof2DScin;. | |
TGeoNode * | GetAl (int part, int layer) |
Get Al node;. | |
TGeoNode * | GetAl (int part, int layer) |
Get Al node;. | |
TGeoVolumeAssembly * | GetAssemblyVolume (const std::string &an) |
Get an assembly by name;. | |
virtual TGeoVolumeAssembly * | GetAssemblyVolume (const std::string &an) |
Get an assembly by name;. | |
virtual TGeoVolumeAssembly * | GetAssemblyVolume (const std::string &an) |
Get an assembly by name;. | |
TGeoVolumeAssembly * | GetAssemblyVolume (const std::string &an) |
Get an assembly by name;. | |
TGeoNode * | GetBucket (int part, int scin, int bucket) |
Get bucket node, 0 for west bucket, 1 for the east one;. | |
TGeoNode * | GetBucket (int part, int scin, int bucket) |
Get bucket node, 0 for west bucket, 1 for the east one;. | |
virtual TGeoPhysicalNode * | GetHit (int i) |
Get ith hit in HitsArray;. | |
virtual TGeoPhysicalNode * | GetHit (int i) |
Get ith hit in HitsArray;. | |
virtual int | GetHitsNum () |
Get number of hits in HitsArray;. | |
virtual int | GetHitsNum () |
Get number of hits in HitsArray;. | |
int | GetLayerNb (int part) |
int | GetLayerNb (int part) |
TGeoVolume * | GetLogicalVolume (const std::string &vn) |
Get a logical volume by name;. | |
virtual TGeoVolume * | GetLogicalVolume (const std::string &vn) |
Get a logical volume by name;. | |
virtual TGeoVolume * | GetLogicalVolume (const std::string &vn) |
Get a logical volume by name;. | |
TGeoVolume * | GetLogicalVolume (const std::string &vn) |
Get a logical volume by name;. | |
TGeoNode * | GetNode (const std::string &nn) |
Get a node(physical volume) by name;. | |
virtual TGeoNode * | GetNode (const std::string &nn) |
Get a node(physical volume) by name;. | |
virtual TGeoNode * | GetNode (const std::string &nn) |
Get a node(physical volume) by name;. | |
TGeoNode * | GetNode (const std::string &nn) |
Get a node(physical volume) by name;. | |
Int_t | GetPart (TGeoPhysicalNode *phyNode) |
Get part no of a scintillator physcial node. | |
Int_t | GetPart (TGeoPhysicalNode *phyNode) |
Get part no of a scintillator physcial node. | |
int | GetPartNb () |
Get number of part;. | |
int | GetPartNb () |
Get number of part;. | |
int | GetPartNb () |
Get number of part;. | |
int | GetPartNb () |
Get number of part;. | |
TGeoPhysicalNode * | GetPhysicalScin (int part, int scin) |
Get scintillator physical node;. | |
TGeoPhysicalNode * | GetPhysicalScin (int part, int layer, int scin) |
Get scintillator physical node;. | |
TGeoPhysicalNode * | GetPhysicalScin (int part, int layer, int scin) |
Get scintillator physical node;. | |
TGeoPhysicalNode * | GetPhysicalScin (int part, int scin) |
Get scintillator physical node;. | |
TGeoNode * | GetPVF (int part, int layer, int scin) |
Get PVF node;. | |
TGeoNode * | GetPVF (int part, int layer, int scin) |
Get PVF node;. | |
TGeoNode * | GetScin (int part, int scin) |
Get scintillator node;. | |
TGeoNode * | GetScin (int part, int layer) |
Get scintillator node;. | |
TGeoNode * | GetScin (int part, int layer) |
Get scintillator node;. | |
TGeoNode * | GetScin (int part, int scin) |
Get scintillator node;. | |
int | GetScinNb (int part) |
Get number of scintillators on each part;. | |
int | GetScinNb (int part) |
Get number of scintillators on each part;. | |
int | GetScinNb (int part) |
Get number of scintillators on each part;. | |
int | GetScinNb (int part) |
Get number of scintillators on each part;. | |
TGeoVolume * | GetTopVolume () |
Get the top(world) volume;. | |
virtual TGeoVolume * | GetTopVolume () |
Get the top(world) volume;. | |
virtual TGeoVolume * | GetTopVolume () |
Get the top(world) volume;. | |
TGeoVolume * | GetTopVolume () |
Get the top(world) volume;. | |
TGeoVolume * | GetVolumeAl (int part, int layer) |
Get Al volume;. | |
TGeoVolume * | GetVolumeAl (int part, int layer) |
Get Al volume;. | |
TGeoVolumeAssembly * | GetVolumeAssembly (int part) |
Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;. | |
TGeoVolumeAssembly * | GetVolumeAssembly (int part) |
Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;. | |
TGeoVolume * | GetVolumeBucket (int part) |
Get bucket volume;. | |
TGeoVolume * | GetVolumeBucket (int part, int layer) |
Get bucket volume;. | |
TGeoVolume * | GetVolumeBucket (int part, int layer) |
Get bucket volume;. | |
TGeoVolume * | GetVolumeBucket (int part) |
Get bucket volume;. | |
TGeoVolume * | GetVolumePart (int part) |
Get part volume;. | |
TGeoVolume * | GetVolumePart (int part) |
Get part volume;. | |
TGeoVolume * | GetVolumePVF (int part, int layer) |
Get PVF volume;. | |
TGeoVolume * | GetVolumePVF (int part, int layer) |
Get PVF volume;. | |
TGeoVolume * | GetVolumeScin (int part) |
Get scintillator volume;. | |
TGeoVolume * | GetVolumeScin (int part, int layer) |
Get scintillator volume;. | |
TGeoVolume * | GetVolumeScin (int part, int layer) |
Get scintillator volume;. | |
TGeoVolume * | GetVolumeScin (int part) |
Get scintillator volume;. | |
TGeoVolume * | GetVolumeTof () |
Get Tof volume;. | |
TGeoVolume * | GetVolumeTof () |
Get Tof volume;. | |
TGeoVolume * | GetVolumeTof () |
Get Tof volume;. | |
TGeoVolume * | GetVolumeTof () |
Get Tof volume;. | |
void | Init2DGeometry () |
Initialize 2D Geometry. | |
void | Init2DGeometry () |
Initialize 2D Geometry. | |
void | InitFromGdml (const char *gdmlFile, const char *setupName) |
Initialize the instance of ROOTGeo. | |
void | InitFromGDML (const char *gdmlFile, const char *setupName) |
Initialize ROOTGeo from GDML. | |
void | InitFromGDML (const char *gdmlFile, const char *setupName) |
Initialize ROOTGeo from GDML. | |
void | InitFromGdml (const char *gdmlFile, const char *setupName) |
Initialize the instance of ROOTGeo. | |
void | InitFromROOT (TGeoVolume *vol) |
Initialize ROOTGeo from TGeoVolume logicalTof. | |
void | InitFromROOT (TGeoVolume *vol) |
Initialize ROOTGeo from TGeoVolume logicalTof. | |
int | IsInitialized () |
If the ROOT geometry of this subdetctor is initialized;. | |
virtual int | IsInitialized () |
If the ROOT geometry of this subdetctor is initialized;. | |
virtual int | IsInitialized () |
If the ROOT geometry of this subdetctor is initialized;. | |
int | IsInitialized () |
If the ROOT geometry of this subdetctor is initialized;. | |
void | ReadGdml (const char *gdmlFile, const char *setupName) |
Initialize the instance of ROOTGeo. | |
virtual void | ReadGdml (const char *gdmlFile, const char *setupName) |
Initialize the instance of ROOTGeo. | |
virtual void | ReadGdml (const char *gdmlFile, const char *setupName) |
Initialize the instance of ROOTGeo. | |
void | ReadGdml (const char *gdmlFile, const char *setupName) |
Initialize the instance of ROOTGeo. | |
void | SetAllVisible () |
Set all visible;. | |
void | SetAllVisible () |
Set all visible;. | |
void | SetAllVisible () |
Set all visible;. | |
void | SetAllVisible () |
Set all visible;. | |
void | SetChildNo (int childNo) |
virtual void | SetChildNo (int childNo) |
virtual void | SetChildNo (int childNo) |
void | SetChildNo (int childNo) |
void | SetDefaultVis () |
Set default visual attributes;. | |
void | SetDefaultVis () |
Set default visual attributes;. | |
void | SetDetector () |
Draw Detecor (what is detector depends on you). | |
void | SetDetector () |
Draw Detecor (what is detector depends on you). | |
virtual void | SetDetectorOn () |
Set all physicalNodes in m_DeteorsArray visible;. | |
virtual void | SetDetectorOn () |
Set all physicalNodes in m_DeteorsArray visible;. | |
void | SetHalfVisible () |
Set half visible;. | |
void | SetHalfVisible () |
Set half visible;. | |
void | SetHits () |
Set all physicalNodes corresponding to digiCol;. | |
void | SetHits () |
Set all physicalNodes corresponding to digiCol;. | |
void | SetNode () |
Set the pointers to theirs nodes;. | |
void | SetNode () |
Set the pointers to theirs nodes;. | |
void | SetNode () |
Set the pointers to theirs nodes;. | |
void | SetNode () |
Set the pointers to theirs nodes;. | |
void | SetNoEndVisible () |
Set noend visible;. | |
void | SetNoEndVisible () |
Set noend visible;. | |
void | SetPhysicalNode () |
Set the pointers to the physical nodes;. | |
void | SetPhysicalNode () |
Set the pointers to the physical nodes;. | |
void | SetPhysicalNode () |
Set the pointers to the physical nodes;. | |
void | SetPhysicalNode () |
Set the pointers to the physical nodes;. | |
void | SetQMatch (Bool_t input) |
void | SetQMatch (Bool_t input) |
void | SetQuarterVisible () |
Set quater visible;. | |
void | SetQuarterVisible () |
Set quater visible;. | |
void | SetQuarterVisible () |
Set quater visible;. | |
void | SetQuarterVisible () |
Set quater visible;. | |
void | SetTMatch (Bool_t input) |
void | SetTMatch (Bool_t input) |
void | SetVisTofDetector () |
Set Tof detector visibility;. | |
void | SetVisTofDetector () |
Set Tof detector visibility;. | |
void | SetVisTofHits () |
Set Tof hits visibility;. | |
void | SetVisTofHits () |
Set Tof hits visibility;. | |
void | SetVolumeDefaultVis () |
Set default visual attributes;. | |
void | SetVolumeDefaultVis () |
Set default visual attributes;. | |
void | SetVolumeTof (TGeoVolume *vol) |
Set Tof volume, while initializing from ROOT;. | |
void | SetVolumeTof (TGeoVolume *vol) |
Set Tof volume, while initializing from ROOT;. | |
TofROOTGeo () | |
Constructor. | |
TofROOTGeo () | |
Constructor. | |
TofROOTGeo () | |
Constructor. | |
TofROOTGeo () | |
Constructor. | |
~TofROOTGeo () | |
Destructor. | |
~TofROOTGeo () | |
Destructor. | |
~TofROOTGeo () | |
Destructor. | |
~TofROOTGeo () | |
Destructor. | |
Protected Attributes | |
int | m_2DGeoInit |
TObjArray * | m_2DHitsArray |
TObjArray * | m_2DHitsArray |
int | m_childNo |
TObjArray * | m_DetectorsArray |
TObjArray * | m_DetectorsArray |
TObjArray * | m_HitsArray |
TObjArray * | m_HitsArray |
int | m_ROOTGeoInit |
TGeoVolume * | m_TopVolume |
TGeoVolume * | m_TopVolume |
TGeoVolume * | m_TopVolume |
TGeoVolume * | m_TopVolume |
Private Attributes | |
Bool_t | k_QMatch |
Bool_t | k_TMatch |
int | m_BucketColor |
TGeoNode * | m_NodeAl [m_kPart][m_kLayerBr] |
TGeoNode * | m_NodeAl [m_kPart][m_kLayerBr] |
TGeoNode * | m_NodePVF [m_kPart][m_kLayerBr][m_kScinBr] |
TGeoNode * | m_NodePVF [m_kPart][m_kLayerBr][m_kScinBr] |
TGeoNode * | m_NodeScin [m_kPart][m_kAssemblyBr] |
TGeoNode * | m_NodeScin [m_kPart][m_kLayerBr] |
TGeoNode * | m_NodeScin [m_kPart][m_kLayerBr] |
TGeoNode * | m_NodeScin [m_kPart][m_kAssemblyBr] |
TGeoPhysicalNode * | m_PhysicalScin [m_kPart][m_kAssemblyBr] |
TGeoPhysicalNode * | m_PhysicalScin [m_kPart][m_kLayerBr][m_kScinBr] |
TGeoPhysicalNode * | m_PhysicalScin [m_kPart][m_kLayerBr][m_kScinBr] |
TGeoPhysicalNode * | m_PhysicalScin [m_kPart][m_kAssemblyBr] |
int | m_ScinColor |
TGeoVolume * | m_Tof |
TGeoVolume * | m_Tof |
TGeoVolume * | m_Tof |
TGeoVolume * | m_Tof |
Tof2DScin * | m_Tof2DScin [m_kPart][m_kLayerBr][m_kScinBr] |
Tof2DScin * | m_Tof2DScin [m_kPart][m_kLayerBr][m_kScinBr] |
int | m_TofColor |
const TObjArray * | m_TofDigiCol |
const TObjArray * | m_TofDigiCol |
Static Private Attributes | |
const int | m_kAssemblyBr = 88 |
const int | m_kAssemblyEc = 48 |
const int | m_kBucketBr = 2 |
const int | m_kBucketEc = 1 |
const int | m_kLayerBr = 2 |
const int | m_kLayerEc = 1 |
const int | m_kPart = 3 |
const int | m_kScinBr = 88 |
const int | m_kScinEc = 48 |
const int | TOF_CHARGE_FACTOR = 1000000 |
const int | TOF_TIME_FACTOR = 1000000 |
|
Constructor.
00025 { 00026 // Default constructor. 00027 for (int part = 0; part < m_kPart; part++) { 00028 for (int scin = 0; scin < m_kAssemblyBr; scin++) { 00029 m_NodeScin[part][scin] = 0; 00030 m_PhysicalScin[part][scin] = 0; 00031 } 00032 } 00033 }
|
|
Destructor.
00036 { }
|
|
Constructor.
|
|
Destructor.
|
|
Constructor.
|
|
Destructor.
|
|
Constructor.
|
|
Destructor.
|
|
Draw function.
|
|
Draw function.
00789 { 00790 TString opt = option; 00791 opt.ToUpper(); 00792 00793 if (!m_2DGeoInit) cout << "TofROOTGeo::Draw2D(), 2D Geometry not initialized!" << endl; 00794 BesView *view = (BesView*)gPad->GetView(); 00795 if (!view) cout << "TofROOTGeo::Draw(), BesView not found" << endl; 00796 00797 if (view->GetVisTofGlobal()) { // TofVisGlobal 00798 TString scinOpt; 00799 00800 //if (opt.Contains("XY")) { 00801 // west part drawn first usually 00802 for (Int_t part = m_kPart-1; part >= 0; part--) { 00803 for (Int_t layer = 0; layer < GetLayerNb(part); layer++) { 00804 for (int scin = 0; scin < GetScinNb(part); scin++) { 00805 00806 if (m_Tof2DScin[part][layer][scin]) { 00807 //cout << "part " << part << " layer " << layer << " scin " << scin << endl; 00808 //m_Tof2DScin[part][layer][scin]->SetHighlighted(false); 00809 m_Tof2DScin[part][layer][scin]->SetFired(false); 00810 if ( (part == 0 && view->GetVisTofEast()) || 00811 (part == 1 && view->GetVisTofBarrel()) || 00812 (part == 2 && view->GetVisTofWest()) ) 00813 m_Tof2DScin[part][layer][scin]->Draw(scinOpt); 00814 } 00815 } 00816 } 00817 } 00818 } 00819 }
|
|
Draw 2D hits.
|
|
Draw 2D hits.
00823 { 00824 // cout << "Draw Hits" << endl; 00825 BesView *view = (BesView*)gPad->GetView(); 00826 if (!view) cout << "TofROOTGeo::DrawHits(), BesView not found" << endl; 00827 00828 //cout << "VisTofHitsGlobal " << view->GetVisTofHitsGlobal() << endl; 00829 //cout << "VisTofHitsEast " << view->GetVisTofHitsEast() << endl; 00830 //cout << "VisTofHitsBarrel " << view->GetVisTofHitsBarrel() << endl; 00831 //cout << "VisTofHitsWest " << view->GetVisTofHitsWest() << endl; 00832 00833 if (view->GetVisTofHitsGlobal()) { 00834 00835 // reset time and charge to zero 00836 for (Int_t part = m_kPart-1; part >= 0; part--) { 00837 for (Int_t layer = 0; layer < GetLayerNb(part); layer++) { 00838 for (int scin = 0; scin < GetScinNb(part); scin++) { 00839 if (m_Tof2DScin[part][layer][scin]) { 00840 m_Tof2DScin[part][layer][scin]->ResetTimeCharge(); 00841 } 00842 } 00843 } 00844 } 00845 00846 if (m_TofDigiCol) { 00847 for (int i = 0; i < m_TofDigiCol->GetEntries(); i++) { 00848 TTofDigi *aTofDigi = (TTofDigi*)m_TofDigiCol->At(i); 00849 00850 Identifier aTofID( aTofDigi->getIntId() ); 00851 int part = TofID::barrel_ec( aTofID ); 00852 int layer = TofID::layer( aTofID ); 00853 int scin = TofID::phi_module( aTofID ); 00854 00855 Double_t charge = Double_t(aTofDigi->getChargeChannel()) / TOF_CHARGE_FACTOR; 00856 //cout << "charge " << charge << endl; 00857 00858 Tof2DScin *aScin = 0; 00859 aScin = m_Tof2DScin[part][layer][scin]; 00860 // Mdc TQMatch for example 00861 // 00862 //if (aWire && 00863 // ((overflow == 0)||(overflow == 12))){ 00864 // if ((k_TMatch) && 00865 // (aMdcDigi->getTimeChannel() == 0x7FFFFFFF)){ 00866 // continue; 00867 // } 00868 // if ((k_QMatch) && 00869 // (aMdcDigi->getChargeChannel() == 0x7FFFFFFF)){ 00870 // continue; 00871 // } 00872 //} 00873 00874 if (aScin) { 00875 if ((k_TMatch)&& 00876 (aTofDigi->getTimeChannel() == 0x7FFFFFFF)){ 00877 continue; 00878 } 00879 if ((k_QMatch)&& 00880 (aTofDigi->getChargeChannel() == 0x7FFFFFFF)){ 00881 continue; 00882 } 00883 00884 aScin->SetCharge(aScin->GetCharge() + charge); 00885 00886 if ( (part == 0 && view->GetVisTofHitsEast()) || 00887 (part == 1 && view->GetVisTofHitsBarrel()) || 00888 (part == 2 && view->GetVisTofHitsWest()) ) { 00889 aScin->SetFired(true); 00890 aScin->Draw(); 00891 } 00892 } 00893 } 00894 } 00895 } 00896 }
|
|
Get Tof2DScin;.
|
|
Get Tof2DScin;.
00764 { 00765 if (m_Tof2DScin[part][layer][scin]) return m_Tof2DScin[part][layer][scin]; 00766 else return 0; 00767 }
|
|
Get Al node;.
|
|
Get Al node;.
00702 { 00703 if (m_NodeAl[part][layer] != 0) { 00704 return m_NodeAl[part][layer]; 00705 } 00706 else { 00707 std::cout << "Node: " << "Part" << part << "Layer" << layer << "Al" << " not found" << std::endl; 00708 return 0; 00709 } 00710 00711 return m_NodeAl[part][layer]; 00712 }
|
|
Get an assembly by name;.
|
|
Get an assembly by name;.
|
|
Get an assembly by name;.
|
|
Get an assembly by name;.
00053 { 00054 TGeoVolumeAssembly *av = (TGeoVolumeAssembly*)TGDMLProcessor::GetInstance()->GetAssemblyVolume(an); 00055 if (!av) std::cout << "Assembly Volume " << an << " not found " << std::endl; 00056 return av; 00057 }
|
|
Get bucket node, 0 for west bucket, 1 for the east one;.
|
|
Get bucket node, 0 for west bucket, 1 for the east one;.
00262 { 00263 std::stringstream osname; 00264 if (part == 0) { 00265 osname << "pv_" << "logical" << "Tof" << "BucketEc" << "_" << m_kAssemblyBr + m_kAssemblyEc + scin << "_1"; 00266 } 00267 else if (part == 1) { 00268 osname << "pv_" << "logical" << "Tof" << "BucketBr" << "_" << scin << "_" << bucket+1; 00269 } 00270 else if (part == 2) { 00271 osname << "pv_" << "logical" << "Tof" << "BucketEc" << "_" << m_kAssemblyBr + scin << "_1"; 00272 } 00273 00274 return GetNode( osname.str() ); 00275 }
|
|
Get ith hit in HitsArray;.
|
|
Get ith hit in HitsArray;.
00066 { 00067 if (i < m_HitsArray->GetEntries()) 00068 return (TGeoPhysicalNode*)m_HitsArray->At(i); 00069 else 00070 return 0; 00071 }
|
|
Get number of hits in HitsArray;.
00061 { return m_HitsArray->GetEntries(); }
|
|
Get number of hits in HitsArray;.
00061 { return m_HitsArray->GetEntries(); }
|
|
|
|
00569 { 00570 int nLayer = m_kLayerBr; 00571 if (part != 1) nLayer = m_kLayerEc; 00572 return nLayer; 00573 }
|
|
Get a logical volume by name;.
|
|
Get a logical volume by name;.
|
|
Get a logical volume by name;.
|
|
Get a logical volume by name;.
00046 { 00047 TGeoVolume *lv = (TGeoVolume*)TGDMLProcessor::GetInstance()->GetLogicalVolume(vn); 00048 if (!lv) std::cout << "Logical Volume " << vn << " not found " << std::endl; 00049 return lv; 00050 }
|
|
Get a node(physical volume) by name;.
|
|
Get a node(physical volume) by name;.
|
|
Get a node(physical volume) by name;.
|
|
Get a node(physical volume) by name;.
00060 { 00061 TGeoNode *node = (TGeoNode*)TGDMLProcessor::GetInstance()->GetPhysicalVolume(nn); 00062 if (!node) std::cout << "Physical Volume " << nn << " not found " << std::endl; 00063 return node; 00064 }
|
|
Get part no of a scintillator physcial node.
|
|
Get part no of a scintillator physcial node.
00771 { 00772 for (Int_t part = 0; part < m_kPart; part++) { 00773 for (Int_t layer = 0; layer < GetLayerNb(part); layer++) { 00774 for (int scin = 0; scin < GetScinNb(part); scin++) { 00775 if (phyNode == GetPhysicalScin(part, layer, scin)) { 00776 //cout << "GetPart()" << part << endl; 00777 return part; 00778 } 00779 } 00780 } 00781 } 00782 00783 cout << "TofROOTGeo::GetPart, this scintillator physical node does not exist!" << endl; 00784 return -1; 00785 }
|
|
Get number of part;.
|
|
Get number of part;.
|
|
Get number of part;.
|
|
Get number of part;.
00185 { 00186 int nPart = m_kPart; 00187 return nPart; 00188 }
|
|
Get scintillator physical node;.
|
|
Get scintillator physical node;.
|
|
Get scintillator physical node;.
00750 { 00751 if (m_PhysicalScin[part][layer][scin] != 0) { 00752 return m_PhysicalScin[part][layer][scin]; 00753 } 00754 else { 00755 std::cout << "PhysicalNode: " << "Part" 00756 << part << "Layer" << layer << "Scin" 00757 << scin << " not found" << std::endl; 00758 return 0; 00759 } 00760 }
|
|
Get scintillator physical node;.
00279 { 00280 if (m_PhysicalScin[part][scin] != 0) { 00281 return m_PhysicalScin[part][scin]; 00282 } 00283 else { 00284 std::cout << "PhysicalNode: " << "Part" << part << "Scin" << scin << " not found" << std::endl; 00285 return 0; 00286 } 00287 }
|
|
Get PVF node;.
|
|
Get PVF node;.
00688 { 00689 if (m_NodePVF[part][layer][scin] != 0) { 00690 return m_NodePVF[part][layer][scin]; 00691 } 00692 else { 00693 std::cout << "Node: " << "Part" << part << "Layer" << layer << "PVF" << scin << " not found" << std::endl; 00694 return 0; 00695 } 00696 00697 return m_NodePVF[part][layer][scin]; 00698 }
|
|
Get scintillator node;.
|
|
Get scintillator node;.
|
|
Get scintillator node;.
|
|
Get scintillator node;.
00248 { 00249 if (m_NodeScin[part][scin] != 0) { 00250 return m_NodeScin[part][scin]; 00251 } 00252 else { 00253 std::cout << "Node: " << "Part" << part << "Scin" << scin << " not found" << std::endl; 00254 return 0; 00255 } 00256 00257 return m_NodeScin[part][scin]; 00258 }
|
|
Get number of scintillators on each part;.
|
|
Get number of scintillators on each part;.
|
|
Get number of scintillators on each part;.
|
|
Get number of scintillators on each part;.
00192 { 00193 int nScin = m_kAssemblyBr; 00194 if (part != 1) nScin = m_kAssemblyEc; 00195 return nScin; 00196 }
|
|
Get the top(world) volume;.
00051 { return m_TopVolume; }
|
|
Get the top(world) volume;.
00052 { return m_TopVolume; }
|
|
Get the top(world) volume;.
00052 { return m_TopVolume; }
|
|
Get the top(world) volume;.
00051 { return m_TopVolume; }
|
|
Get Al volume;.
|
|
Get Al volume;.
00634 { 00635 std::stringstream osname; 00636 if (part == 0) { 00637 osname << "logical" << "AlEcEast"; 00638 } 00639 else if (part == 2){ 00640 osname << "logical" << "AlEcWest"; 00641 } 00642 else { 00643 if (part == 1) { 00644 osname << "logical" << "AlBr" << layer+1; 00645 } 00646 } 00647 00648 return GetLogicalVolume( osname.str() ); 00649 }
|
|
Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.
|
|
Get assembly volume; part=0,2 for AssemblyEc, 1 for AssemblyBr;.
00200 { 00201 std::stringstream osname; 00202 if (part == 0 || part == 2) { 00203 osname << "logical" << "Tof" << "AssemblyEc"; 00204 } 00205 else { 00206 if (part == 1) { 00207 osname << "logical" << "Tof" << "AssemblyBr"; 00208 } 00209 } 00210 00211 return GetAssemblyVolume( osname.str() ); 00212 }
|
|
Get bucket volume;.
|
|
Get bucket volume;.
|
|
Get bucket volume;.
00672 { 00673 std::stringstream osname; 00674 if (part == 0 || part == 2) { 00675 osname << "logical" << "BucketEc"; 00676 } 00677 else { 00678 if (part == 1) { 00679 osname << "logical" << "BucketBr" << layer+1; 00680 } 00681 } 00682 00683 return GetLogicalVolume( osname.str() ); 00684 }
|
|
Get bucket volume;.
00232 { 00233 std::stringstream osname; 00234 if (part == 0 || part == 2) { 00235 osname << "logical" << "Tof" << "BucketEc"; 00236 } 00237 else { 00238 if (part == 1) { 00239 osname << "logical" << "Tof" << "BucketBr"; 00240 } 00241 } 00242 00243 return GetLogicalVolume( osname.str() ); 00244 }
|
|
Get part volume;.
|
|
Get part volume;.
00595 { 00596 std::stringstream osname; 00597 if (part == 1) { 00598 osname << "logicalBrTof"; 00599 } 00600 else if (part == 0){ 00601 osname << "logicalEcTofWest"; 00602 } 00603 else { 00604 osname << "logicalEcTofEast"; 00605 } 00606 00607 return GetLogicalVolume( osname.str() ); 00608 00609 00610 00611 }
|
|
Get PVF volume;.
|
|
Get PVF volume;.
00615 { 00616 std::stringstream osname; 00617 if (part == 0) { 00618 osname << "logical" << "PVFEcEast"; 00619 } 00620 else if (part == 2){ 00621 osname << "logical" << "PVFEcWest"; 00622 } 00623 else { 00624 if (part == 1) { 00625 osname << "logical" << "PVFBr" << layer+1; 00626 } 00627 } 00628 00629 return GetLogicalVolume( osname.str() ); 00630 }
|
|
Get scintillator volume;.
|
|
Get scintillator volume;.
|
|
Get scintillator volume;.
00653 { 00654 std::stringstream osname; 00655 if (part == 0) { 00656 osname << "logical" << "ScinEcEast"; 00657 } 00658 else if (part == 2){ 00659 osname << "logical" << "ScinEcWest"; 00660 } 00661 else { 00662 if (part == 1) { 00663 osname << "logical" << "ScinBr" << layer+1; 00664 } 00665 } 00666 00667 return GetLogicalVolume( osname.str() ); 00668 }
|
|
Get scintillator volume;.
00216 { 00217 std::stringstream osname; 00218 if (part == 0 || part == 2) { 00219 osname << "logical" << "Tof" << "ScinEc"; 00220 } 00221 else { 00222 if (part == 1) { 00223 osname << "logical" << "Tof" << "ScinBr"; 00224 } 00225 } 00226 00227 return GetLogicalVolume( osname.str() ); 00228 }
|
|
Get Tof volume;.
00062 { return m_Tof; }
|
|
Get Tof volume;.
00096 { return m_Tof; }
|
|
Get Tof volume;.
00096 { return m_Tof; }
|
|
Get Tof volume;.
00062 { return m_Tof; }
|
|
Initialize 2D Geometry.
|
|
Initialize 2D Geometry.
00078 { 00079 if (m_ROOTGeoInit != 1 && m_ROOTGeoInit != 2) { 00080 cout << "TofROOTGeo::Init2DGeometry, ROOT Geometry not Initialized yet!" << endl; 00081 return; 00082 } 00083 m_2DGeoInit = 1; 00084 00085 Double_t local[3] = {0.0, 0.0, 0.0}; 00086 Double_t master[3] = {0.0, 0.0, 0.0}; 00087 //Int_t nPoints = 8; 00088 //Double_t P[300] = {0.0}; 00089 //Double_t center[3] = {0.0, 0.0, 0.0}; 00090 TString name; 00091 00092 // Tof Scintillators 00093 for (Int_t part = 0; part < m_kPart; part++) { 00094 for (Int_t layer = 0; layer < GetLayerNb(part); layer++) { 00095 for (int scin = 0; scin < GetScinNb(part); scin++) { 00096 TGeoPhysicalNode *scinPhyNode = GetPhysicalScin(part, layer, scin); 00097 if (part == 1) { 00098 name = TString("Tof Part 1"); 00099 name += " Layer "; 00100 name += layer; 00101 name += " Phi "; 00102 name += scin; 00103 } 00104 else { 00105 if (part == 0) name = TString("EastEc"); 00106 else if (part == 2) name = TString("WestEc"); 00107 name = TString("Tof Part "); 00108 name += part; 00109 name += " Phi "; 00110 name += scin; 00111 } 00112 TGeoArb8 *scinShape = (TGeoArb8*)scinPhyNode->GetShape(); 00113 Double_t *localArb8Point, masterArb8Point[24]; 00114 localArb8Point = scinShape->GetVertices(); 00115 00116 for (Int_t i = 0; i < 8; i++) { 00117 local[0] = localArb8Point[2*i]; 00118 local[1] = localArb8Point[2*i+1]; 00119 if (i < 4) local[2] = scinShape->GetDz() * (-1.0); 00120 else local[2] = scinShape->GetDz(); 00121 00122 //cout << i << " local x: " << local[0] << " y: " << local[1] << " z: " << local[2] << endl; 00123 scinPhyNode->GetMatrix(-1*scinPhyNode->GetLevel())->LocalToMaster(local, &master[0]); // transform to top 00124 //cout << " master x: " << master[0] << " y: " << master[1] << " z: " << master[2] << endl; 00125 00126 for (Int_t j = 0; j < 3; j++) { 00127 masterArb8Point[3*i+j] = master[j]; 00128 } 00129 } 00130 00131 m_Tof2DScin[part][layer][scin] = new Tof2DScin(name, name, 8, &masterArb8Point[0], part); 00132 } 00133 } 00134 } 00135 }
|
|
Initialize the instance of ROOTGeo.
|
|
Initialize ROOTGeo from GDML.
|
|
Initialize ROOTGeo from GDML.
00060 { 00061 m_ROOTGeoInit = 2; 00062 00063 ReadGdml(gdmlFile, setupName); 00064 SetNode(); 00065 }
|
|
Initialize the instance of ROOTGeo.
00040 { 00041 ReadGdml(gdmlFile, setupName); 00042 SetNode(); 00043 SetDefaultVis(); 00044 00045 m_ROOTGeoInit = 1; 00046 }
|
|
Initialize ROOTGeo from TGeoVolume logicalTof.
|
|
Initialize ROOTGeo from TGeoVolume logicalTof.
00069 { 00070 m_ROOTGeoInit = 1; 00071 00072 SetVolumeTof(vol); 00073 SetNode(); 00074 }
|
|
If the ROOT geometry of this subdetctor is initialized;.
00042 { return m_ROOTGeoInit; }
|
|
If the ROOT geometry of this subdetctor is initialized;.
00043 { return m_ROOTGeoInit; }
|
|
If the ROOT geometry of this subdetctor is initialized;.
00043 { return m_ROOTGeoInit; }
|
|
If the ROOT geometry of this subdetctor is initialized;.
00042 { return m_ROOTGeoInit; }
|
|
Initialize the instance of ROOTGeo.
|
|
Initialize the instance of ROOTGeo.
|
|
Initialize the instance of ROOTGeo.
|
|
Initialize the instance of ROOTGeo.
00032 { 00033 m_config.SetURI( gdmlFile ); 00034 m_config.SetSetupName( setupName ); 00035 m_config.SetType ( "ROOT" ); 00036 00037 m_sxp.Configure( &m_config ); 00038 m_sxp.Initialize(); 00039 m_sxp.Run(); 00040 00041 m_TopVolume = (TGeoVolume*)TGDMLProcessor::GetInstance()->GetWorldVolume(); 00042 if (!m_TopVolume) std::cout << "Top Volume not found " << std::endl; 00043 }
|
|
Set all visible;.
|
|
Set all visible;.
|
|
Set all visible;.
|
|
Set all visible;.
00111 { 00112 for (int part = 0; part < m_kPart; part++) { 00113 GetVolumeScin(part)->SetVisibility(1); 00114 GetVolumeBucket(part)->SetVisibility(1); 00115 00116 int nScin = 0; 00117 if (part == 1) nScin = m_kAssemblyBr; 00118 else nScin = m_kAssemblyEc; 00119 for (int scin = 0; scin < nScin; scin++) { 00120 GetScin(part, scin)->SetVisibility(1); 00121 00122 int nBucket = 0; 00123 if (part == 1) nBucket = m_kBucketBr; 00124 else nBucket = m_kBucketEc; 00125 for (int bucket = 0; bucket < nBucket; bucket++) { 00126 GetBucket(part, scin, bucket)->SetVisibility(1); 00127 } 00128 } 00129 } 00130 }
|
|
00045 { m_childNo = childNo; }
|
|
00046 { m_childNo = childNo; }
|
|
00046 { m_childNo = childNo; }
|
|
00045 { m_childNo = childNo; }
|
|
Set default visual attributes;.
|
|
Set default visual attributes;.
00077 { 00078 //std::cout << "begin of set defaultvis" << std::endl; 00079 int tofColor = 2; 00080 int scinColor = 6; 00081 int bucketColor = 4; 00082 00083 m_Tof->SetLineColor(tofColor); 00084 m_Tof->SetVisibility(0); 00085 00086 for (int part = 0; part < m_kPart; part++) { 00087 GetVolumeScin(part)->SetLineColor(scinColor); 00088 GetVolumeScin(part)->SetVisibility(1); 00089 GetVolumeBucket(part)->SetLineColor(bucketColor); 00090 GetVolumeBucket(part)->SetVisibility(0); 00091 00092 int nScin = 0; 00093 if (part == 1) nScin = m_kAssemblyBr; 00094 else nScin = m_kAssemblyEc; 00095 for (int scin = 0; scin < nScin; scin++) { 00096 GetScin(part, scin)->SetVisibility(0); 00097 00098 int nBucket = 0; 00099 if (part == 1) nBucket = m_kBucketBr; 00100 else nBucket = m_kBucketEc; 00101 for (int bucket = 0; bucket < nBucket; bucket++) { 00102 GetBucket(part, scin, bucket)->SetVisibility(0); 00103 } 00104 } 00105 } 00106 //std::cout << "end of set defaultvis" << std::endl; 00107 }
|
|
Draw Detecor (what is detector depends on you).
|
|
Draw Detecor (what is detector depends on you).
00400 { 00401 BesView *view = 0; 00402 if (gPad) view = (BesView*)gPad->GetView(); 00403 //if (view) cout << "viewVisFull3DTof " << view->GetVisFull3DTof() << endl; 00404 00405 m_DetectorsArray->Clear(); 00406 for (int part = 0; part < m_kPart; part++) { 00407 for (int layer = 0; layer < GetLayerNb(part); layer++) { 00408 for (int scin = 0; scin < GetScinNb(part); scin++) { 00409 TGeoPhysicalNode *phyNode = 0; 00410 phyNode = GetPhysicalScin(part, layer, scin); 00411 if (phyNode) { 00412 phyNode->SetVisibility(0); // set all invisible before set any visible 00413 if (part == 2 || 00414 (scin >= GetScinNb(part)*0/4 && scin < GetScinNb(part)*8/8)) { 00415 m_DetectorsArray->Add( phyNode ); 00416 } 00417 else if (view && view->GetVisFull3DTof()) { 00418 m_DetectorsArray->Add( phyNode ); 00419 } 00420 } 00421 } 00422 } 00423 } 00424 }
|
|
Set all physicalNodes in m_DeteorsArray visible;.
|
|
Set all physicalNodes in m_DeteorsArray visible;.
00074 { 00075 for (Int_t i = 0; i < m_DetectorsArray->GetEntries(); i++) { 00076 TGeoPhysicalNode *pNode = (TGeoPhysicalNode*)m_DetectorsArray->At(i); 00077 if (pNode) pNode->SetVisibility(1); 00078 } 00079 }
|
|
Set half visible;.
|
|
Set half visible;.
00303 { 00304 /* 00305 for (int part = 0; part < m_kPart; part++) { 00306 GetVolumeScin(part)->SetVisibility(1); 00307 GetVolumeBucket(part)->SetVisibility(1); 00308 00309 int nScin = 0; 00310 if (part == 1) nScin = m_kAssemblyBr; 00311 else nScin = m_kAssemblyEc; 00312 for (int scin = 0; scin < nScin; scin++) { 00313 if (scin < nScin/4+1 || 00314 scin > nScin*3/4 ) GetScin(part, scin)->SetVisibility(1); 00315 else GetScin(part, scin)->SetVisibility(0); 00316 00317 int nBucket = 0; 00318 if (part == 1) nBucket = m_kBucketBr; 00319 else nBucket = m_kBucketEc; 00320 for (int bucket = 0; bucket < nBucket; bucket++) { 00321 if (scin < nScin/4+1 || 00322 scin > nScin*3/4 ) GetBucket(part, scin, bucket)->SetVisibility(1); 00323 else GetBucket(part, scin, bucket)->SetVisibility(0); 00324 } 00325 } 00326 } 00327 */ 00328 }
|
|
Set all physicalNodes corresponding to digiCol;.
|
|
Set all physicalNodes corresponding to digiCol;.
00428 { 00429 // set previous event hits to default vis 00430 for (int i = 0; i < m_HitsArray->GetEntries(); i++) { 00431 TGeoPhysicalNode *phyNode = (TGeoPhysicalNode*)m_HitsArray->At(i); 00432 if (phyNode){ 00433 //phyNode->SetLineColor(m_ScinColor); 00434 phyNode->SetVisibility(0); 00435 } 00436 } 00437 m_HitsArray->Clear("C"); 00438 00439 // set previous event 2D hits info to default 00440 for (int i = 0; i < m_2DHitsArray->GetEntries(); i++) { 00441 Tof2DScin *aScin = (Tof2DScin*)m_2DHitsArray->At(i); 00442 aScin->ClearInfo(); 00443 aScin->AddInfo(aScin->GetTitle()); 00444 aScin->CloseInfo(); 00445 aScin->ResetTimeCharge(); 00446 } 00447 m_2DHitsArray->Clear("C"); 00448 00449 if (gEvent) m_TofDigiCol = gEvent->GetTofDigiCol(); 00450 00451 for (int i = 0; i < m_TofDigiCol->GetEntries(); i++) { 00452 TTofDigi *aTofDigi = (TTofDigi*)m_TofDigiCol->At(i); 00453 00454 Identifier atofID( aTofDigi->getIntId() ); 00455 int part = TofID::barrel_ec( atofID ); 00456 int layer = TofID::layer( atofID ); 00457 int scin = TofID::phi_module( atofID ); 00458 00459 //Double_t charge = Double_t(aTofDigi->getChargeChannel()) / TOF_CHARGE_FACTOR; 00460 //Double_t time = Double_t(aTofDigi->getTimeChannel()) / TOF_TIME_FACTOR; 00461 00462 Double_t charge = RawDataUtil::TofCharge(aTofDigi->getChargeChannel()); 00463 Double_t time = RawDataUtil::TofTime(aTofDigi->getTimeChannel()); 00464 00465 TGeoPhysicalNode *phyNode = 0; 00466 phyNode = GetPhysicalScin( part, layer, scin ); 00467 if (phyNode) { 00468 m_HitsArray->Add( phyNode ); 00469 } 00470 00471 Tof2DScin *aScin = 0; 00472 aScin = m_Tof2DScin[part][layer][scin]; 00473 if (aScin) { 00474 char data[100]; 00475 00476 if (aScin->GetCharge() == 0.0) { 00477 aScin->ClearInfo(); 00478 aScin->AddInfo(aScin->GetTitle()); 00479 sprintf(data, "time1 = %-.3f ns, charge1 = %-.3f MeV", time, charge); 00480 aScin->AddInfo( TString(data) ); 00481 } 00482 else { 00483 sprintf(data, "time2 = %-.3f ns, charge2 = %-.3f MeV", time, charge); 00484 aScin->AddInfo( TString(data) ); 00485 sprintf(data, "Fired"); 00486 aScin->AddInfo( TString(data) ); 00487 } 00488 00489 aScin->CloseInfo(); 00490 aScin->SetCharge(aScin->GetCharge() + charge); 00491 00492 m_2DHitsArray->Add(aScin); 00493 } 00494 } 00495 }
|
|
Set the pointers to theirs nodes;.
|
|
Set the pointers to theirs nodes;.
|
|
Set the pointers to theirs nodes;.
|
|
Set the pointers to theirs nodes;.
00050 { 00051 m_Tof = GetTopVolume(); 00052 if(!m_Tof) std::cout << "m_Tof = 0" << std::endl; 00053 00054 for (int part = 0; part < m_kPart; part++) { 00055 int nScin = 0; 00056 if (part == 1) nScin = m_kAssemblyBr; 00057 else nScin = m_kAssemblyEc; 00058 for (int scin = 0; scin < nScin; scin++) { 00059 std::stringstream osname; 00060 if (part == 0) { 00061 osname << "pv_" << "logical" << "Tof" << "ScinEc" << "_" << m_kAssemblyBr + m_kAssemblyEc + scin << "_0"; 00062 } 00063 else if (part == 1) { 00064 osname << "pv_" << "logical" << "Tof" << "ScinBr" << "_" << scin << "_0"; 00065 } 00066 else if (part == 2) { 00067 osname << "pv_" << "logical" << "Tof" << "ScinEc" << "_" << m_kAssemblyBr + scin << "_0"; 00068 } 00069 00070 m_NodeScin[part][scin] = GetNode( osname.str() ); 00071 } 00072 } 00073 }
|
|
Set noend visible;.
|
|
Set noend visible;.
00332 { 00333 /* 00334 int part = 1; 00335 GetVolumeScin(0)->SetVisibility(1); 00336 GetVolumeBucket(0)->SetVisibility(1); 00337 00338 int nScin = 0; 00339 nScin = m_kAssemblyBr; 00340 for (int scin = 0; scin < nScin; scin++) { 00341 GetScin(part, scin)->SetVisibility(1); 00342 00343 int nBucket = 0; 00344 nBucket = m_kBucketBr; 00345 for (int bucket = 0; bucket < nBucket; bucket++) { 00346 GetBucket(part, scin, bucket)->SetVisibility(1); 00347 } 00348 } 00349 */ 00350 }
|
|
Set the pointers to the physical nodes;.
|
|
Set the pointers to the physical nodes;.
|
|
Set the pointers to the physical nodes;.
|
|
Set the pointers to the physical nodes;.
00159 { 00160 int scinColor = 6; 00161 00162 if (gGeoManager == 0) std::cout << "Create gGeoManager first" << std::endl; 00163 TGeoNode *bes = gGeoManager->GetTopNode(); 00164 //std::cout << "m_childNo " << m_childNo << std::endl; 00165 TGeoNode *tof = bes->GetDaughter(m_childNo); 00166 00167 for (int part = 0; part < m_kPart; part++) { 00168 int nScin = 0; 00169 if (part == 1) nScin = m_kAssemblyBr; 00170 else nScin = m_kAssemblyEc; 00171 for (int scin = 0; scin < nScin; scin++) { 00172 TGeoNode *nodeScin = GetScin(part, scin); 00173 m_PhysicalScin[part][scin] = gGeoManager->MakePhysicalNode( TString("/") + bes->GetName() + 00174 TString("/") + tof->GetName() + 00175 TString("/") + nodeScin->GetName() ); 00176 m_PhysicalScin[part][scin]->SetVisibility(0); 00177 m_PhysicalScin[part][scin]->SetIsVolAtt(kFALSE); 00178 m_PhysicalScin[part][scin]->SetLineColor(scinColor); 00179 } 00180 } 00181 }
|
|
|
|
00247 { 00248 k_QMatch = input; 00249 }
|
|
Set quater visible;.
|
|
Set quater visible;.
|
|
Set quater visible;.
|
|
Set quater visible;.
00134 { 00135 for (int part = 0; part < m_kPart; part++) { 00136 GetVolumeScin(part)->SetVisibility(1); 00137 GetVolumeBucket(part)->SetVisibility(1); 00138 00139 int nScin = 0; 00140 if (part == 1) nScin = m_kAssemblyBr; 00141 else nScin = m_kAssemblyEc; 00142 for (int scin = 0; scin < nScin; scin++) { 00143 if (scin < nScin/4) GetScin(part, scin)->SetVisibility(0); 00144 else GetScin(part, scin)->SetVisibility(1); 00145 00146 int nBucket = 0; 00147 if (part == 1) nBucket = m_kBucketBr; 00148 else nBucket = m_kBucketEc; 00149 for (int bucket = 0; bucket < nBucket; bucket++) { 00150 if (scin < nScin/4) GetBucket(part, scin, bucket)->SetVisibility(0); 00151 else GetBucket(part, scin, bucket)->SetVisibility(1); 00152 } 00153 } 00154 } 00155 }
|
|
|
|
00242 { 00243 k_TMatch = input; 00244 }
|
|
Set Tof detector visibility;.
|
|
Set Tof detector visibility;.
00499 { 00500 /* 00501 for (int part = 0; part < m_kPart; part++) { 00502 for (int layer = 0; layer < GetLayerNb(part); layer++) { 00503 for (int scin = 0; scin < GetScinNb(part); scin++) { 00504 TGeoPhysicalNode *phyNode = GetPhysicalScin(part, layer, scin); 00505 if (phyNode) phyNode->SetLineColor(m_ScinColor); 00506 } 00507 } 00508 } 00509 */ 00510 00511 BesView *view = 0; 00512 if (gPad) view = (BesView*)gPad->GetView(); 00513 00514 //cout << "VisTofEast " << view->GetVisTofEast() << endl; 00515 for (int i = 0; i < m_DetectorsArray->GetEntries(); i++) { 00516 TGeoPhysicalNode *phyNode = (TGeoPhysicalNode*)m_DetectorsArray->At(i); 00517 phyNode->SetVisibility(0); 00518 if (view && view->GetVisTofGlobal()) { 00519 int part = GetPart(phyNode); 00520 if (part == 0 && view->GetVisTofEast() || 00521 part == 1 && view->GetVisTofBarrel() || 00522 part == 2 && view->GetVisTofWest() ) 00523 phyNode->SetVisibility(1); 00524 } 00525 } 00526 }
|
|
Set Tof hits visibility;.
|
|
Set Tof hits visibility;.
00530 { 00531 BesView *view = 0; 00532 if (gPad) view = (BesView*)gPad->GetView(); 00533 00534 for (int i = 0; i < m_HitsArray->GetEntries(); i++) { 00535 TGeoPhysicalNode *phyNode = (TGeoPhysicalNode*)m_HitsArray->At(i); 00536 if (phyNode){ 00537 if (view && view->GetVisTofHitsGlobal()) { 00538 int part = GetPart(phyNode); 00539 if (part == 0 && view->GetVisTofHitsEast() || 00540 part == 1 && view->GetVisTofHitsBarrel() || 00541 part == 2 && view->GetVisTofHitsWest() ) { 00542 phyNode->SetVisibility(1); 00543 phyNode->SetLineColor(kGreen); 00544 continue; 00545 } 00546 } 00547 phyNode->SetVisibility(0); 00548 } 00549 } 00550 }
|
|
Set default visual attributes;.
|
|
Set default visual attributes;.
00215 { 00216 //std::cout << "begin of set defaultvis" << std::endl; 00217 00218 m_Tof->SetLineColor(m_TofColor); 00219 m_Tof->SetVisibility(0); 00220 00221 for (int part = 0; part < m_kPart; part++) { 00222 GetVolumePart(part)->SetLineColor(m_ScinColor); 00223 GetVolumePart(part)->SetVisibility(0); 00224 for (int layer = 0; layer < GetLayerNb(part); layer++) { 00225 GetVolumePVF(part, layer)->SetLineColor(m_ScinColor); 00226 GetVolumePVF(part, layer)->SetVisibility(0); 00227 00228 GetVolumeAl(part, layer)->SetLineColor(m_ScinColor); 00229 GetVolumeAl(part, layer)->SetVisibility(0); 00230 00231 GetVolumeScin(part, layer)->SetLineColor(m_ScinColor); 00232 GetVolumeScin(part, layer)->SetVisibility(0); 00233 00234 GetVolumeBucket(part, layer)->SetLineColor(m_BucketColor); 00235 GetVolumeBucket(part, layer)->SetVisibility(0); 00236 } 00237 } 00238 //std::cout << "end of set defaultvis" << std::endl; 00239 }
|
|
Set Tof volume, while initializing from ROOT;.
00093 { m_Tof = vol; }
|
|
Set Tof volume, while initializing from ROOT;.
00093 { m_Tof = vol; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|