/* Copyright (C) 2013-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt SPDX-License-Identifier: GPL-3.0-only Authors: Volker Friese [committer] */ /** @file CbmStsModule.h ** @author Volker Friese <v.friese@gsi.de> ** @date 14.05.2013 **/ #ifndef CBMSTSMODULE_H #define CBMSTSMODULE_H 1 #include "CbmStsElement.h" // for CbmStsElement #include "CbmStsParModule.h" // for CbmStsParModule #include <Rtypes.h> // for THashConsistencyHolder, ClassDef #include <RtypesCore.h> // for Double_t, UShort_t, Bool_t, Int_t, kTRUE #include <TString.h> // for TString #include <string> // for string class CbmStsParAsic; class TGeoPhysicalNode; /** @class CbmStsModule ** @brief Class representing an instance of a readout unit in the CBM-STS. ** @author V.Friese <v.friese@gsi.de> ** @version 2.0 ** ** The StsModule is the read-out unit in the CBM STS. It consists of one ** sensor or two or more daisy-chained sensors (CbmStsSensor), the analogue ** cable and the read-out electronics. **/ class CbmStsModule : public CbmStsElement { public: /** @brief Standard constructor ** @param address Unique element address ** @param node Geometry node ** @param mother Mother element **/ CbmStsModule(UInt_t address = 0, TGeoPhysicalNode* node = nullptr, CbmStsElement* mother = nullptr); /** @brief Destructor **/ virtual ~CbmStsModule(); /** @brief Get the address from the module name (static) ** @param name Name of module ** @value Unique element address **/ static Int_t GetAddressFromName(TString name); /** @brief Module parameters ** @return Module parameter object **/ const CbmStsParModule* GetParameters() const { return fParams; } /** @brief Set module parameters ** @param par Module parameter object **/ void SetParameters(const CbmStsParModule& par) { fParams = ∥ } /** String output **/ std::string ToString() const; private: /** @brief Initialise daughters from geometry **/ virtual void InitDaughters(); private: const CbmStsParModule* fParams = nullptr; //! Module parameters ClassDef(CbmStsModule, 3); }; #endif /* CBMSTSMODULE_H */