CbmRoot
Loading...
Searching...
No Matches
CbmTrdParModAsic.h
Go to the documentation of this file.
1/* Copyright (C) 2018-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Alexandru Bercuci [committer] */
4
5#ifndef CBMTRDPARMODASIC_H
6#define CBMTRDPARMODASIC_H
7
8#include "CbmTrdDigi.h" // for CbmTrdDigi::eCbmTrdAsicType
9#include "CbmTrdParMod.h" // for CbmTrdParSet
10
11#include <Rtypes.h> // for THashConsistencyHolder, ClassDef
12#include <RtypesCore.h> // for Int_t, Bool_t, Option_t, UChar_t
13
14#include <map> // for map
15#include <vector> // for vector
16
17class CbmTrdParAsic;
19class FairParamList;
20
31 friend class CbmTrdParSetAsic;
32
33public:
35 CbmTrdParModAsic(const char* name = "CbmTrdParModAsic", const char* title = "Generic list of ASICs for TRD modules");
36
38 virtual ~CbmTrdParModAsic() { clear(); }
39
41 virtual void clear();
50 bool GetFaspChannelPar(int pad, const CbmTrdParFaspChannel*& tilt, const CbmTrdParFaspChannel*& rect) const;
55 virtual void GetAsicAddresses(std::vector<Int_t>* a) const;
61 virtual Int_t GetAsicAddress(Int_t chAddress) const;
67 virtual const CbmTrdParAsic* GetAsicPar(Int_t address) const;
73 virtual CbmTrdParAsic* GetAsicPar(Int_t address);
74
77
79 virtual Int_t GetChamberType() const { return fType; }
80
82 virtual const int32_t* GetCrobAddresses() const { return fCrobAdd.data(); }
83
87 virtual int HasEqId(uint16_t eqid, uint8_t& lnk) const;
88
92 virtual size_t GetNofAsicsOnModule() const { return fModPar.size(); }
93
96 virtual int GetNofAsics() const;
97
98 virtual void Print(Option_t* opt = "") const;
102 virtual void SetAsicPar(CbmTrdParAsic* p);
103 virtual void SetChamberType(Int_t t) { fType = t; }
105 virtual void SetCrobAddresses(int* addresses);
106
107protected:
110
111 uint8_t fType;
112 std::vector<int32_t> fCrobAdd;
113 std::map<int, CbmTrdParAsic*> fModPar;
115 1); // The set of ASICs for one TRD modules
116};
117#endif
Definition of ASIC parameters.
Definition of FASP channel calibration container.
Describe TRD module ASIC settings (electronic gain, delays, etc)
virtual void GetAsicAddresses(std::vector< Int_t > *a) const
Query the ASICs in the module for their DAQ address. It applies to the list of ASICs....
virtual void SetCrobAddresses(int *addresses)
Initialize the CROB addresses as they are used in the DAQ.
uint8_t fType
type of chamber for current module
std::map< int, CbmTrdParAsic * > fModPar
list of ASIC params for module
CbmTrdParModAsic(const CbmTrdParModAsic &ref)
virtual int GetNofAsics() const
Returns the DEFAULT number of ASICs for the current module.
virtual void SetChamberType(Int_t t)
CbmTrdParModAsic(const char *name="CbmTrdParModAsic", const char *title="Generic list of ASICs for TRD modules")
virtual CbmTrdDigi::eCbmTrdAsicType GetAsicType() const
Query the type of ASICs in the list.
virtual size_t GetNofAsicsOnModule() const
Returns the number of INSTALLED ASICs for the current module It applies to the list of ASICs.
virtual void clear()
Reset all parameters.
const CbmTrdParModAsic & operator=(const CbmTrdParModAsic &ref)
virtual Int_t GetAsicAddress(Int_t chAddress) const
Look for the ASIC which operates on a specific channel It applies to the list of ASICs.
virtual const CbmTrdParAsic * GetAsicPar(Int_t address) const
Look for the ASIC parameters of a given DAQ id It applies to the list of ASICs.
virtual const int32_t * GetCrobAddresses() const
Query the type of chamber.
bool GetFaspChannelPar(int pad, const CbmTrdParFaspChannel *&tilt, const CbmTrdParFaspChannel *&rect) const
Access the calibration objects describing the two FASP channels allocated to a pad....
virtual Int_t GetChamberType() const
Query the type of chamber.
virtual int HasEqId(uint16_t eqid, uint8_t &lnk) const
Query the existence of an equipment (CROB) by HW id on the current module params.
ClassDef(CbmTrdParModAsic, 1)
virtual void Print(Option_t *opt="") const
virtual ~CbmTrdParModAsic()
Destructor.
std::vector< int32_t > fCrobAdd
ordered list of Crobs for current module
virtual void SetAsicPar(CbmTrdParAsic *p)
Initialize the ASIC parameters for DAQ id It applies to the list of ASICs.
Definition of generic parameters for one TRD module.
Describe TRD module ASIC settings (electronic gain, delays, etc)