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 G4int pprVersion, AliModuleType modType = kDetector,
19 G4bool isStandalone = true);
20 AliDetSwitch(const AliDetSwitch& right);
21 virtual ~AliDetSwitch();
24 AliDetSwitch& operator=(const AliDetSwitch& right);
25 G4int operator==(const AliDetSwitch& right) const;
26 G4int operator!=(const AliDetSwitch& right) const;
29 void SwitchOn(G4int version);
30 void SwitchOnDefault();
35 G4String GetDetName() const;
36 G4int GetNofVersions() const;
37 G4int GetDefaultVersion() const;
38 G4int GetPPRVersion() const;
39 G4bool IsStandalone() const;
40 AliModuleType GetType() const;
41 G4int GetSwitchedVersion() const;
45 G4String fDetName; //module name
46 G4int fNofVersions; //number of versions
47 G4int fDefaultVersion; //default version
48 G4int fPPRVersion; //default PPR 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::GetPPRVersion() const
66 { return fPPRVersion; }
68 inline G4int AliDetSwitch::GetSwitchedVersion() const
69 { return fSwitchedVersion; }
71 inline AliModuleType AliDetSwitch::GetType() const
74 inline G4bool AliDetSwitch::IsStandalone() const
75 { return fIsStandalone; }
77 #endif //ALI_DET_SWITCH_H