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
int Int_t
Definition of ASIC parameters.
Definition of FASP channel calibration container.
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....
friend class CbmTrdParSetAsic
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.
CbmTrdParMod(const char *name="CbmTrdParMod", const char *title="TRD generic module definition")