/** * \file CbmTrdCreateDigiPar.h * \brief Assign pad layout to TRD Modules. * \author Florian Uhlig * \date 06/06/2008 * * Updated 20/05/2013 by Andrey Lebedev * * Create digitisation parameter map. * Read pad geometry from CbmTrdPads.h, * assign pad layout to sectors in TRD modules. */ #ifndef CBMTRDCREATEDIGIPAR_H #define CBMTRDCREATEDIGIPAR_H #include "FairTask.h" #include "TArrayD.h" #include class CbmTrdDigiPar; class CbmTrdModule; class CbmTrdGeoHandler; /** * \class CbmTrdCreateDigiPar * \brief Assign pad layout to TRD Modules. */ class CbmTrdCreateDigiPar : public FairTask { public: /** * \brief Default constructor. **/ CbmTrdCreateDigiPar(); /** * \brief Destructor. **/ virtual ~CbmTrdCreateDigiPar(); /** * \brief Inherited from FairTask. **/ virtual InitStatus Init(); /** * \brief Inherited from FairTask. **/ virtual void SetParContainers(); /** * \brief Change the default ASIC to FASP **/ virtual void SetFASP(Bool_t set=kTRUE) {fFASP = set;} /** * \brief Inherited from FairTask. **/ virtual void Exec(Option_t* option); /** * \brief Inherited from FairTask. **/ virtual void Finish(); private: /** * \brief Create TRD module from path with triangular pads optionally **/ void CreateModule( const TString& path, Bool_t tripad); void FillModuleMap(); void FillDigiPar(); Int_t fMaxSectors; ///< Maximum number of sectors for all modules Bool_t fFASP; ///< Switch for FASP ASIC /// Map of Unique TRD Module Id to corresponding CbmTrdModule std::map fModuleMap; CbmTrdDigiPar* fDigiPar; ///< pointer to digi parameters CbmTrdGeoHandler* fGeoHandler; CbmTrdCreateDigiPar(const CbmTrdCreateDigiPar&); CbmTrdCreateDigiPar& operator=(const CbmTrdCreateDigiPar&); ClassDef(CbmTrdCreateDigiPar, 5) }; #endif //CBMTRDCREATEDIGIPAR_H