CbmRoot
Loading...
Searching...
No Matches
CbmMvdDigi.h
Go to the documentation of this file.
1/* Copyright (C) 2008-2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Christina Dritsa [committer], Philipp Sitzmann, Florian Uhlig, Volker Friese */
4
5// -------------------------------------------------------------------------
6// ----- CbmMvdDigi header file -----
7// ----- Created 02/04/08 by C.Dritsa -----
8// -------------------------------------------------------------------------
9
10// TODO: Include GetAddress, GetLinks, GetTime
11
12#ifndef CBMMVDDIGI_H
13#define CBMMVDDIGI_H 1
14
15#include "CbmDefs.h" // for ECbmModuleId::kMvd
16#include "CbmMvdRawDigi.h" // for CbmMvdRawDigi
17
18#include <Rtypes.h> // for ClassDef
19#include <TObject.h> // for TObject
20
21#include <cstdint>
22#include <string> // for string
23
24class CbmMvdDigi : public TObject {
25
26 public:
28 CbmMvdDigi();
29
31 // FIXME: replace sensorNr with the multi-index, when the version 1 of the addresses is available
32 CbmMvdDigi(int32_t sensorNr, int32_t iChannelNrX, int32_t iChannelNrY, float charge, float pixelSizeX,
33 float pixelSizeY, double time = 0.0, int32_t frame = 0);
34
50 CbmMvdDigi(const CbmMvdRawDigi& rhs, float pixelSizeX = 0.003024, float pixelSizeY = 0.002688);
51
58 static CbmMvdRawDigi ConvertToRawDigi(const CbmMvdDigi& rhs);
59
64
66 ~CbmMvdDigi() = default;
67
68 static const char* GetClassName() { return "CbmMvdDigi"; }
70 static const char* GetBranchName() { return "MvdDigi"; }
71
73 double GetCharge() const { return fCharge; };
76 double GetPixelSizeX() const { return fPixelSizeX; };
77 double GetPixelSizeY() const { return fPixelSizeY; };
78 int32_t GetAdcCharge(int32_t adcDynamic, int32_t adcOffset, int32_t adcBits) const;
79 int32_t GetFlag() const { return fDigiFlag; };
80 int32_t GetStationNr() const
81 {
83 }; // FIXME: rename and rewrite
84
88 int32_t GetAddress() const { return fAddress; };
89 double GetTime() const { return fDigiTime; };
90 int32_t GetFrameNumber() const { return fFrameNumber; };
91
92
93 int32_t GetRefId() const { return fRefId; };
94
95 std::string ToString() const { return ""; }
96
97 //these functions are only for littrack
98 int32_t GetDominatorX() { return 0; };
99 int32_t GetDominatorY() { return 0; };
100 int32_t GetTrackID() { return 0; };
101 int32_t GetContributors() { return 0; };
102 int32_t GetPointID() { return 0; };
103 //
104
105
107 void SetCharge(float charge) { fCharge = charge; };
108 void SetAddress(uint32_t address) { fAddress = address; }
109 // void SetPixelIndex(int32_t pixelIndex) { fChannelNr = pixelIndex; };
110 void SetFlag(int32_t flag) { fDigiFlag = flag; }
111 void SetFrameNr(int32_t frame) { fFrameNumber = frame; };
112 void SetRefId(int32_t refId) { fRefId = refId; }
113 void SetTime(double time) { fDigiTime = time; }
114
115private:
116 double fDigiTime;
117 float fCharge;
118 //int32_t fTrackID;
119 //int32_t fPointID;
122 int32_t fChannelNr;
124 int32_t fRefId;
125 uint32_t fAddress;
126
127 int32_t fDigiFlag; // Debugging and analysis information
128
130};
131
132
133#endif
ECbmModuleId
Enumerator for module Identifiers.
Definition CbmDefs.h:45
@ kMvd
Micro-Vertex Detector.
Definition CbmDefs.h:47
static uint32_t GetDetectorId(uint32_t address)
Provides a unit sensor address, masking information on the pixels (bits 13-31)
static int32_t GetSensorXIndex(uint32_t address)
static int32_t GetSensorNrFromAddress(uint32_t address)
static int32_t GetSensorYIndex(uint32_t address)
void SetTime(double time)
Definition CbmMvdDigi.h:113
int32_t GetPointID()
Definition CbmMvdDigi.h:102
double GetTime() const
Definition CbmMvdDigi.h:89
int32_t GetPixelY() const
Definition CbmMvdDigi.h:75
static ECbmModuleId GetSystem()
Definition CbmMvdDigi.h:69
float fPixelSizeX
Definition CbmMvdDigi.h:120
int32_t GetStationNr() const
Definition CbmMvdDigi.h:80
int32_t GetDetectorId() const
Returns a unique address of an MVD sensor (without information on pixels)
Definition CbmMvdDigi.h:87
float fPixelSizeY
Definition CbmMvdDigi.h:121
void SetCharge(float charge)
Definition CbmMvdDigi.h:107
ClassDef(CbmMvdDigi, 4)
int32_t GetFrameNumber() const
Definition CbmMvdDigi.h:90
double GetPixelSizeY() const
Definition CbmMvdDigi.h:77
int32_t GetContributors()
Definition CbmMvdDigi.h:101
int32_t fRefId
Definition CbmMvdDigi.h:124
void SetFlag(int32_t flag)
Definition CbmMvdDigi.h:110
int32_t GetTrackID()
Definition CbmMvdDigi.h:100
double GetPixelSizeX() const
Definition CbmMvdDigi.h:76
void SetFrameNr(int32_t frame)
Definition CbmMvdDigi.h:111
int32_t GetDominatorX()
Definition CbmMvdDigi.h:98
static const char * GetClassName()
Definition CbmMvdDigi.h:68
static CbmMvdRawDigi ConvertToRawDigi(const CbmMvdDigi &rhs)
float fCharge
Definition CbmMvdDigi.h:117
int32_t fDigiFlag
Definition CbmMvdDigi.h:127
int32_t GetAdcCharge(int32_t adcDynamic, int32_t adcOffset, int32_t adcBits) const
int32_t GetAddress() const
Definition CbmMvdDigi.h:88
int32_t fChannelNr
Definition CbmMvdDigi.h:122
void SetAddress(uint32_t address)
Definition CbmMvdDigi.h:108
int32_t fFrameNumber
Definition CbmMvdDigi.h:123
double fDigiTime
Definition CbmMvdDigi.h:116
uint32_t fAddress
Definition CbmMvdDigi.h:125
std::string ToString() const
Definition CbmMvdDigi.h:95
static const char * GetBranchName()
Definition CbmMvdDigi.h:70
int32_t GetPixelX() const
Definition CbmMvdDigi.h:74
int32_t GetFlag() const
Definition CbmMvdDigi.h:79
double GetCharge() const
Definition CbmMvdDigi.h:73
int32_t GetDominatorY()
Definition CbmMvdDigi.h:99
~CbmMvdDigi()=default
int32_t GetRefId() const
Definition CbmMvdDigi.h:93
void SetRefId(int32_t refId)
Definition CbmMvdDigi.h:112