4 // Class that associates the name tree with logical volumes tree.
5 // Used for printing volumes trees.
7 #ifndef ALI_LV_STRUCTURE_H
8 #define ALI_LV_STRUCTURE_H
10 #include <G4LogicalVolume.hh>
13 #include <g4rw/tpordvec.h>
18 AliLVStructure(G4String aPath);
19 AliLVStructure(const AliLVStructure& right);
22 virtual ~AliLVStructure();
25 AliLVStructure& operator=(const AliLVStructure& right);
26 G4int operator==(const AliLVStructure &right) const;
29 void AddNewVolume(G4LogicalVolume* lv, G4String treeStructure);
30 void ListTree() const;
31 void ListTreeLong() const;
34 void SetVerboseLevel(G4int verbose);
35 #ifdef ALICE_VISUALIZE
36 void SetTreeVisibility(G4bool visibility);
37 void SetTreeColour(G4String colName);
41 G4LogicalVolume* GetVolume(G4String name);
42 G4LogicalVolume* FindVolume(G4String name);
49 AliLVStructure* FindSubDirectory(G4String subDir);
50 G4String ExtractDirName(G4String path);
53 G4RWTPtrOrderedVector<AliLVStructure> fStructures; //.
55 //contained structures
56 G4RWTPtrOrderedVector<G4LogicalVolume> fLogicalVolumes; //.
58 //contained logical volumes
59 //(parallel to fStructures)
60 G4String fPathName; //full path name
61 G4String fDirName; //directory name
62 G4int fVerboseLevel; //verbose level
65 #endif //ALI_LV_STRUCTURE_H