//* $Id: */ // ------------------------------------------------------------------------- // ----- CbmMvdStripsDigiScheme header file ----- // ----- Created 31/08/06 by V. Friese ----- // ------------------------------------------------------------------------- /** CbmMvdStripsDigiScheme **@author Volker Friese **@since 31.08.06 **@version 1.0 ** ** Auxiliary class for MVDSTRIPS digitisation and hit finding. ** Controls the digitisation scheme of the stations and sectors. **/ #ifndef CBMMVDSTRIPSDIGISCHEME_H #define CBMMVDSTRIPSDIGISCHEME_H 1 #include "TObjArray.h" #include "TObject.h" #include class CbmGeoMvdStripsPar; class CbmMvdStripsDigiPar; class CbmMvdStripsSector; class CbmMvdStripsSensor; class CbmMvdStripsStation; class CbmMvdStripsDigiScheme : public TObject { public: /** Constructor **/ CbmMvdStripsDigiScheme(); /** Destructor **/ virtual ~CbmMvdStripsDigiScheme(); /** Initialisation **/ Bool_t Init(CbmGeoMvdStripsPar* geoPar, CbmMvdStripsDigiPar* 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; } CbmMvdStripsStation* GetStation(Int_t iStation); /** Station by index **/ CbmMvdStripsStation* GetStationByNr(Int_t stationNr); /** Station by number **/ CbmMvdStripsSector* GetSector (Int_t stationNr, Int_t sectorNr); /** Sector by number **/ CbmMvdStripsSensor* GetSensor (Int_t stationNr, Int_t sectorNr, Int_t sensorNr); /** Sensor by number **/ Int_t GetDetectorIdByName(TString sensorName); CbmMvdStripsSensor* GetSensorByName (TString sensorName); /** Screen output **/ void Print(Bool_t kLong = kFALSE); private: TObjArray* fStations; /** Array of CbmMvdStripsStation **/ 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(CbmMvdStripsDigiScheme,1); }; #endif