]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliLVStructure.h
Resolved merging conflicts
[u/mrichter/AliRoot.git] / AliGeant4 / AliLVStructure.h
CommitLineData
676fb573 1// $Id$
2// Category: geometry
3//
4// Class that associates the name tree with logical volumes tree.
5// Used for printing volumes trees.
6
7#ifndef ALI_LV_STRUCTURE_H
8#define ALI_LV_STRUCTURE_H
9
676fb573 10#include <globals.hh>
676fb573 11#include <g4rw/tpordvec.h>
12
c97337f9 13class G4LogicalVolume;
14
676fb573 15class AliLVStructure
16{
17 public:
18 AliLVStructure(G4String aPath);
19 AliLVStructure(const AliLVStructure& right);
20 // --> protected
21 // AliLVStructure();
22 virtual ~AliLVStructure();
23
24 // operators
25 AliLVStructure& operator=(const AliLVStructure& right);
26 G4int operator==(const AliLVStructure &right) const;
27
28 // methods
29 void AddNewVolume(G4LogicalVolume* lv, G4String treeStructure);
30 void ListTree() const;
31 void ListTreeLong() const;
32
33 // set methods
34 void SetVerboseLevel(G4int verbose);
35#ifdef ALICE_VISUALIZE
36 void SetTreeVisibility(G4bool visibility);
37 void SetTreeColour(G4String colName);
38#endif
39
40 // get methods
41 G4LogicalVolume* GetVolume(G4String name);
42 G4LogicalVolume* FindVolume(G4String name);
43
44 protected:
45 AliLVStructure();
46
47 private:
48 // methods
49 AliLVStructure* FindSubDirectory(G4String subDir);
50 G4String ExtractDirName(G4String path);
51
52 // data members
53 G4RWTPtrOrderedVector<AliLVStructure> fStructures; //.
54 //vector of
55 //contained structures
56 G4RWTPtrOrderedVector<G4LogicalVolume> fLogicalVolumes; //.
57 //vector of
58 //contained logical volumes
59 //(parallel to fStructures)
60 G4String fPathName; //full path name
61 G4String fDirName; //directory name
62 G4int fVerboseLevel; //verbose level
63};
64
65#endif //ALI_LV_STRUCTURE_H
66