4 // Author: I. Hrivnacova
8 // Data type class that stores available detector options.
9 // Used in interactive detector setup.
11 #ifndef ALI_DET_SWITCH_H
12 #define ALI_DET_SWITCH_H
14 #include "AliModuleType.h"
21 AliDetSwitch(G4String detName, G4int nofVersions, G4int defaultVersion,
22 AliModuleType modType = kDetector, G4bool isStandalone = true);
23 AliDetSwitch(const AliDetSwitch& right);
24 virtual ~AliDetSwitch();
27 AliDetSwitch& operator=(const AliDetSwitch& right);
28 G4int operator==(const AliDetSwitch& right) const;
29 G4int operator!=(const AliDetSwitch& right) const;
32 void SwitchOn(G4int version);
33 void SwitchOnDefault();
37 G4String GetDetName() const;
38 G4int GetNofVersions() const;
39 G4int GetDefaultVersion() const;
40 G4bool IsStandalone() const;
41 AliModuleType GetType() const;
42 G4int GetSwitchedVersion() const;
46 G4String fDetName; //module name
47 G4int fNofVersions; //number of versions
48 G4int fDefaultVersion; //default version
49 G4bool fIsStandalone; //true if module can be built standalone
50 AliModuleType fType; //type of module (detector or structure)
51 G4int fSwitchedVersion; //current selected version
56 inline G4String AliDetSwitch::GetDetName() const
59 inline G4int AliDetSwitch::GetNofVersions() const
60 { return fNofVersions; }
62 inline G4int AliDetSwitch::GetDefaultVersion() const
63 { return fDefaultVersion; }
65 inline G4int AliDetSwitch::GetSwitchedVersion() const
66 { return fSwitchedVersion; }
68 inline AliModuleType AliDetSwitch::GetType() const
71 inline G4bool AliDetSwitch::IsStandalone() const
72 { return fIsStandalone; }
74 #endif //ALI_DET_SWITCH_H