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 G4int pprVersion, AliModuleType modType = kDetector,
23 G4bool isStandalone = true);
24 AliDetSwitch(const AliDetSwitch& right);
25 virtual ~AliDetSwitch();
28 AliDetSwitch& operator=(const AliDetSwitch& right);
29 G4int operator==(const AliDetSwitch& right) const;
30 G4int operator!=(const AliDetSwitch& right) const;
33 void SwitchOn(G4int version);
34 void SwitchOnDefault();
39 G4String GetDetName() const;
40 G4int GetNofVersions() const;
41 G4int GetDefaultVersion() const;
42 G4int GetPPRVersion() const;
43 G4bool IsStandalone() const;
44 AliModuleType GetType() const;
45 G4int GetSwitchedVersion() const;
49 G4String fDetName; //module name
50 G4int fNofVersions; //number of versions
51 G4int fDefaultVersion; //default version
52 G4int fPPRVersion; //default PPR version
53 G4bool fIsStandalone; //true if module can be built standalone
54 AliModuleType fType; //type of module (detector or structure)
55 G4int fSwitchedVersion; //current selected version
60 inline G4String AliDetSwitch::GetDetName() const
63 inline G4int AliDetSwitch::GetNofVersions() const
64 { return fNofVersions; }
66 inline G4int AliDetSwitch::GetDefaultVersion() const
67 { return fDefaultVersion; }
69 inline G4int AliDetSwitch::GetPPRVersion() const
70 { return fPPRVersion; }
72 inline G4int AliDetSwitch::GetSwitchedVersion() const
73 { return fSwitchedVersion; }
75 inline AliModuleType AliDetSwitch::GetType() const
78 inline G4bool AliDetSwitch::IsStandalone() const
79 { return fIsStandalone; }
81 #endif //ALI_DET_SWITCH_H