4 // Author: I. Hrivnacova
6 // Class AliLVStructure
7 // --------------------
8 // Class that associates the name tree with logical volumes tree.
9 // Used for printing volumes trees.
11 #ifndef ALI_LV_STRUCTURE_H
12 #define ALI_LV_STRUCTURE_H
15 #include <g4rw/tpordvec.h>
17 class G4LogicalVolume;
22 AliLVStructure(G4String aPath);
23 AliLVStructure(const AliLVStructure& right);
26 virtual ~AliLVStructure();
29 AliLVStructure& operator=(const AliLVStructure& right);
30 G4int operator==(const AliLVStructure &right) const;
33 void AddNewVolume(G4LogicalVolume* lv, G4String treeStructure);
34 void ListTree() const;
35 void ListTreeLong() const;
38 void SetVerboseLevel(G4int verbose);
39 #ifdef ALICE_VISUALIZE
40 void SetTreeVisibility(G4bool visibility);
41 void SetTreeColour(G4String colName);
45 G4LogicalVolume* GetVolume(G4String name);
46 G4LogicalVolume* FindVolume(G4String name);
53 AliLVStructure* FindSubDirectory(G4String subDir);
54 G4String ExtractDirName(G4String path);
57 G4RWTPtrOrderedVector<AliLVStructure> fStructures; //.
59 //contained structures
60 G4RWTPtrOrderedVector<G4LogicalVolume> fLogicalVolumes; //.
62 //contained logical volumes
63 //(parallel to fStructures)
64 G4String fPathName; //full path name
65 G4String fDirName; //directory name
66 G4int fVerboseLevel; //verbose level
69 #endif //ALI_LV_STRUCTURE_H