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 <vector> // for vector
14
15#include <stdint.h> // for size_t
16
17class FairParamList;
18
21public:
22 CbmTrdParAsic(Int_t address = 0, Int_t FebGrouping = -1, Double_t x = 0, Double_t y = 0, Double_t z = 0,
23 size_t compId = 0);
24 virtual ~CbmTrdParAsic() { ; }
25
35
37 virtual Double_t GetSizeX() const = 0;
38 virtual Double_t GetSizeY() const = 0;
39 virtual Double_t GetX() const { return fX; }
40 virtual Double_t GetY() const { return fY; }
41 virtual Double_t GetZ() const { return fZ; }
42
43 virtual Int_t GetAddress() const { return fAddress; }
44 virtual size_t GetComponentId() const { return fComponentId; }
45 virtual Int_t GetNchannels() const = 0;
46 virtual Int_t GetFebGrouping() const { return fFebGrouping; }
47 virtual std::vector<Int_t> GetChannelAddresses() const { return fChannelAddresses; }
48 virtual bool IsChannelMasked(int) const { return false; }
49 virtual void LoadParams(FairParamList*) { ; }
50 virtual void Print(Option_t* opt = "") const;
55 virtual Int_t QueryChannel(Int_t ch) const;
56 virtual void SetChannelAddress(Int_t address);
57 virtual void SetChannelAddresses(std::vector<Int_t> addresses);
58 virtual void SetFebGrouping(Int_t feb) { fFebGrouping = feb; }
59 virtual void SetPosition(Double_t x = 0, Double_t y = 0, Double_t z = 0)
60 {
61 fX = x;
62 fY = y;
63 fZ = z;
64 }
65 virtual void SetComponentId(size_t id) { fComponentId = id; }
66
67protected:
68 Int_t fAddress;
69 Double_t fX;
70 Double_t fY;
71 Double_t fZ;
73
79
81 std::vector<Int_t> fChannelAddresses;
82
83 ClassDef(CbmTrdParAsic, 1) // Definition of common ASIC parameters
84};
85
86#endif
Definition of ASIC parameters.
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
Definition of generic parameters for one TRD module.