//* $Id: */ // ------------------------------------------------------------------------- // ----- CbmStsDigiScheme header file ----- // ----- Created 31/08/06 by V. Friese ----- // ------------------------------------------------------------------------- /** CbmStsDigiScheme **@author Volker Friese **@since 31.08.06 **@version 1.0 ** ** Auxiliary class for STS digitisation and hit finding. ** Controls the digitisation scheme of the stations and sectors. **/ #ifndef CBMSTSDIGISCHEME_H #define CBMSTSDIGISCHEME_H 1 #include "TObjArray.h" #include "TObject.h" #include class CbmGeoStsPar; class CbmStsDigiPar; class CbmStsSector; class CbmStsSensor; class CbmStsStation; class CbmStsDigiScheme : public TObject { public: /** Constructor **/ CbmStsDigiScheme(); /** Destructor **/ virtual ~CbmStsDigiScheme(); /** Initialisation **/ Bool_t Init(CbmGeoStsPar* geoPar, CbmStsDigiPar* digiPar); /** Clear digitisation scheme **/ void Clear(); /** Reset eventwise counters **/ void Reset(); /** Accessors **/ Int_t GetNStations() { return fStations->GetEntries(); } Int_t GetNSectors() { return fNSectors; } Int_t GetNSensors() { return fNSensors; } Int_t GetNChannels() { return fNChannels; } TObjArray* GetStations() { return fStations; } CbmStsStation* GetStation(Int_t iStation); /** Station by index **/ CbmStsStation* GetStationByNr(Int_t stationNr); /** Station by number **/ CbmStsSector* GetSector (Int_t stationNr, Int_t sectorNr); /** Sector by number **/ CbmStsSensor* GetSensor (Int_t stationNr, Int_t sectorNr, Int_t sensorNr); /** Sensor by number **/ Int_t GetDetectorIdByName(TString sensorName); CbmStsSensor* GetSensorByName (TString sensorName); /** Screen output **/ void Print(Bool_t kLong = kFALSE); private: TObjArray* fStations; /** Array of CbmStsStation **/ Int_t fNSectors; /** Total number of sectors **/ Int_t fNSensors; /** Total number of sensors **/ Int_t fNChannels; /** Total number of channels **/ std::map fStationMap; //! Map from number to station std::map fDetIdByName; std::map fSensorByName; ClassDef(CbmStsDigiScheme,1); }; #endif