CbmRoot
Loading...
Searching...
No Matches
CbmTrdParAsic.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: Florian Uhlig [committer] */
4
5#ifndef CBMTRDPARASIC_H
6#define CBMTRDPARASIC_H
7
8#include "CbmTrdParMod.h" // for CbmTrdParMod
9
10#include <Rtypes.h> // for THashConsistencyHolder, ClassDef
11#include <RtypesCore.h> // for Int_t, Double_t, Option_t
12
13#include <cstdint> // for size_t
14#include <vector> // for vector
15
16class FairParamList;
17
20public:
21 CbmTrdParAsic(Int_t address = 0, Int_t FebGrouping = -1, Double_t x = 0, Double_t y = 0, Double_t z = 0,
22 size_t compId = 0);
23 virtual ~CbmTrdParAsic() { ; }
24
34
36 virtual Double_t GetSizeX() const = 0;
37 virtual Double_t GetSizeY() const = 0;
38 virtual Double_t GetX() const { return fX; }
39 virtual Double_t GetY() const { return fY; }
40 virtual Double_t GetZ() const { return fZ; }
41
42 virtual Int_t GetAddress() const { return fAddress; }
43 virtual size_t GetComponentId() const { return fComponentId; }
44 virtual Int_t GetNchannels() const = 0;
45 virtual Int_t GetFebGrouping() const { return fFebGrouping; }
46 virtual std::vector<Int_t> GetChannelAddresses() const { return fChannelAddresses; }
47 virtual bool IsChannelMasked(int) const { return false; }
48 virtual void LoadParams(FairParamList*) { ; }
49 virtual void Print(Option_t* opt = "") const;
54 virtual Int_t QueryChannel(Int_t ch) const;
55 virtual void SetChannelAddress(Int_t address);
56 virtual void SetChannelAddresses(std::vector<Int_t> addresses);
57 virtual void SetFebGrouping(Int_t feb) { fFebGrouping = feb; }
58 virtual void SetPosition(Double_t x = 0, Double_t y = 0, Double_t z = 0)
59 {
60 fX = x;
61 fY = y;
62 fZ = z;
63 }
64 virtual void SetComponentId(size_t id) { fComponentId = id; }
65
66protected:
68 Double_t fX;
69 Double_t fY;
70 Double_t fZ;
72
78
80 std::vector<Int_t> fChannelAddresses;
81
82 ClassDef(CbmTrdParAsic, 1) // Definition of common ASIC parameters
83};
84
85#endif
int Int_t
virtual Double_t GetSizeX() const =0
virtual void SetPosition(Double_t x=0, Double_t y=0, Double_t z=0)
virtual Int_t QueryChannel(Int_t ch) const
Query ASIC for specific pad address.
Double_t fX
center of asic in global c.s. [cm]
virtual Double_t GetSizeY() const =0
virtual ~CbmTrdParAsic()
virtual Double_t GetY() const
std::vector< Int_t > fChannelAddresses
addresses of individual output channels
size_t fComponentId
Hardware component Id used for addressing For the digit decoding see ECbmTrdComponentIdDecoding....
virtual void LoadParams(FairParamList *)
Int_t fFebGrouping
no of ASIC in ROB
virtual Double_t GetX() const
virtual std::vector< Int_t > GetChannelAddresses() const
virtual size_t GetComponentId() const
virtual void SetComponentId(size_t id)
virtual Int_t GetAddress() const
Double_t fY
center of asic in global c.s. [cm]
Int_t fAddress
unique ASIC ID
virtual void SetChannelAddress(Int_t address)
virtual void SetChannelAddresses(std::vector< Int_t > addresses)
virtual bool IsChannelMasked(int) const
virtual void SetFebGrouping(Int_t feb)
virtual Double_t GetZ() const
virtual void Print(Option_t *opt="") const
CbmTrdParAsic(Int_t address=0, Int_t FebGrouping=-1, Double_t x=0, Double_t y=0, Double_t z=0, size_t compId=0)
Double_t fZ
center of asic in global c.s. [cm]
ECbmTrdComponentIdDecoding
Enum for decodation of spadic componentId (Hardware to software mapping) Since the length of the CriI...
virtual Int_t GetNchannels() const =0
virtual Int_t GetFebGrouping() const
CbmTrdParMod(const char *name="CbmTrdParMod", const char *title="TRD generic module definition")