]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliDetConstruction.h
Some more comments.
[u/mrichter/AliRoot.git] / AliGeant4 / AliDetConstruction.h
1 // $Id$
2 // Category: geometry
3 //
4 // Author: I. Hrivnacova
5 //
6 // Class AliDetConstruction
7 // ------------------------
8 // Detector construction class with interactive setting of detectors setup 
9 // available.  
10 // In case the detector setup is not defined in Root macro Config.C
11 // the commands /alDet/switchOn/Off can be used either interactively or
12 // in Geant4 macro.
13
14 #ifndef ALI_DET_CONSTRUCTION_H
15 #define ALI_DET_CONSTRUCTION_H
16
17 #include "AliModulesComposition.h"
18 #include "AliDetSwitchVector.h"
19
20 #include <globals.hh>
21
22 class G4VPhysicalVolume;
23
24 class AliDetConstruction : public AliModulesComposition
25 {
26   public:
27     AliDetConstruction();
28     // --> protected
29     // AliDetConstruction(const AliDetConstruction& right);
30     virtual ~AliDetConstruction();
31
32     // methods
33     virtual G4VPhysicalVolume* Construct();
34     virtual void GenerateXMLGeometry() const;
35     
36   protected:
37     AliDetConstruction(const AliDetConstruction& right);
38
39     // operators
40     AliDetConstruction& operator=(const AliDetConstruction& right);
41
42   private:  
43     // methods
44     void BuildDetectors();
45     void CreateDetectors();
46     void CheckDependence(const G4String& master, const G4String& slave);
47     void CheckDetDependencies();
48   
49     // data members
50     AliDetSwitchVector  fDetSwitchVector; //vector of AliDetSwitch
51 };
52
53 #endif //ALI_DET_CONSTRUCTION_H
54