4 // Data type class that stores available detector option.
5 // Used in interactive detector setup.
7 #ifndef ALI_DET_SWITCH_H
8 #define ALI_DET_SWITCH_H
10 #include "AliModuleType.h"
17 AliDetSwitch(G4String detName, G4int nofVersions, G4int defaultVersion,
18 AliModuleType modType = kDetector, G4bool isStandalone = true);
19 AliDetSwitch(const AliDetSwitch& right);
20 virtual ~AliDetSwitch();
23 AliDetSwitch& operator=(const AliDetSwitch& right);
24 G4int operator==(const AliDetSwitch& right) const;
25 G4int operator!=(const AliDetSwitch& right) const;
28 void SwitchOn(G4int version);
29 void SwitchOnDefault();
33 G4String GetDetName() const;
34 G4int GetNofVersions() const;
35 G4int GetDefaultVersion() const;
36 G4bool IsStandalone() const;
37 AliModuleType GetType() const;
38 G4int GetSwitchedVersion() const;
42 G4String fDetName; //module name
43 G4int fNofVersions; //number of versions
44 G4int fDefaultVersion; //default version
45 G4bool fIsStandalone; //true if module can be built standalone
46 AliModuleType fType; //type of module (detector or structure)
47 G4int fSwitchedVersion; //current selected version
52 inline G4String AliDetSwitch::GetDetName() const
55 inline G4int AliDetSwitch::GetNofVersions() const
56 { return fNofVersions; }
58 inline G4int AliDetSwitch::GetDefaultVersion() const
59 { return fDefaultVersion; }
61 inline G4int AliDetSwitch::GetSwitchedVersion() const
62 { return fSwitchedVersion; }
64 inline AliModuleType AliDetSwitch::GetType() const
67 inline G4bool AliDetSwitch::IsStandalone() const
68 { return fIsStandalone; }
70 #endif //ALI_DET_SWITCH_H