// $Id$ // Category: geometry // // Author: I. Hrivnacova // // Class AliDetSwitch // ------------------ // Data type class that stores available detector options. // Used in interactive detector setup. #ifndef ALI_DET_SWITCH_H #define ALI_DET_SWITCH_H #include "AliModuleType.h" #include class AliDetSwitch { public: AliDetSwitch(G4String detName, G4int nofVersions, G4int defaultVersion, AliModuleType modType = kDetector); AliDetSwitch(const AliDetSwitch& right); virtual ~AliDetSwitch(); //operators AliDetSwitch& operator=(const AliDetSwitch& right); G4int operator==(const AliDetSwitch& right) const; G4int operator!=(const AliDetSwitch& right) const; // methods void SwitchOn(G4int version); void SwitchOnDefault(); void SwitchOff(); // get methods G4String GetDetName() const; G4int GetNofVersions() const; G4int GetDefaultVersion() const; AliModuleType GetType() const; G4int GetSwitchedVersion() const; private: // data members G4String fDetName; //module name G4int fNofVersions; //number of versions G4int fDefaultVersion; //default version AliModuleType fType; //type of module (detector or structure) G4int fSwitchedVersion; //current selected version }; // inline methods inline G4String AliDetSwitch::GetDetName() const { return fDetName; } inline G4int AliDetSwitch::GetNofVersions() const { return fNofVersions; } inline G4int AliDetSwitch::GetDefaultVersion() const { return fDefaultVersion; } inline G4int AliDetSwitch::GetSwitchedVersion() const { return fSwitchedVersion; } inline AliModuleType AliDetSwitch::GetType() const { return fType; } #endif //ALI_DET_SWITCH_H