BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
CbmDigi.h
Go to the documentation of this file.
1
/** @file CbmDigi.h
2
** @author Volker Friese <v.friese@gsi.de>
3
** @date 30.04.2013
4
**/
5
6
#ifndef CBMDIGI_H
7
#define CBMDIGI_H 1
8
9
#include "
TObject.h
"
10
11
class
FairMultiLinkedData
;
12
13
/** @class CbmDigi
14
** @brief Base class for persistent representation of digital information.
15
** @author V.Friese <v.friese@gsi.de>
16
** @version 2.0
17
**
18
** CbmDigi is an abstract base class for the ROOT representation of
19
** the smallest information unit delivered by the detector front-ends.
20
** It is equivalent to the message of a single electronics channel.
21
** The information content is the channel address (unique identifier),
22
** the time stamp and (optionally) the charge (ADC).
23
**
24
** Unlike the data class used to actually transport the information
25
** through the data acquisition ("message"), the digi contains
26
** context-free information, i.e. absolute time and unique address.
27
**
28
** The class contains a pointer to an object of type FairMultiLinkedData,
29
** where the link information to MCPoints can be stored and retrieved.
30
** If there is no such information (as in case of real data), the pointer
31
** will be NULL.
32
**
33
** Note that the Digi class is not responsible for the validity of the
34
** pointer. Copy constructor and assignment operator will perform a
35
** shallow copy only. It is the user's responsibility to ensure the validity
36
** of the pointer and to delete the FairMultiLinkedData wherever appropriate.
37
**/
38
class
CbmDigi
:
public
TObject
39
{
40
41
public
:
42
/** Default constructor **/
43
CbmDigi
();
44
45
/** Destructor **/
46
virtual
~CbmDigi
() {};
47
48
/** Unique channel address **/
49
virtual
Int_t
GetAddress
()
const
= 0;
50
51
/** Charge (optional) **/
52
virtual
Double_t
GetCharge
()
const
{
return
0.; }
53
54
/** Get pointer to link collection **/
55
FairMultiLinkedData
*
GetLinks
()
const
{
return
fLinks
; }
56
57
/** System (enum DetectorId) **/
58
virtual
Int_t
GetSystemId
()
const
= 0;
59
60
/** Absolute time [ns] **/
61
virtual
Double_t
GetTime
()
const
= 0;
62
63
/** Set pointer to link collection **/
64
void
SetLinks
(
FairMultiLinkedData
* links) {
fLinks
= links; }
65
66
protected
:
67
FairMultiLinkedData
*
fLinks
;
///< Monte-Carlo link collection
68
69
CbmDigi
(
const
CbmDigi
&);
70
CbmDigi
&
operator=
(
const
CbmDigi
&);
71
72
ClassDef
(
CbmDigi
, 2);
73
};
74
75
#endif
Int_t
int Int_t
Double_t
double Double_t
ClassDef
#define ClassDef(name, id)
TObject.h
CbmDigi::operator=
CbmDigi & operator=(const CbmDigi &)
Definition
CbmDigi.cxx:28
CbmDigi::GetTime
virtual Double_t GetTime() const =0
Absolute time [ns].
CbmDigi::GetAddress
virtual Int_t GetAddress() const =0
Unique channel address.
CbmDigi::SetLinks
void SetLinks(FairMultiLinkedData *links)
Set pointer to link collection.
Definition
CbmDigi.h:64
CbmDigi::GetCharge
virtual Double_t GetCharge() const
Charge (optional).
Definition
CbmDigi.h:52
CbmDigi::~CbmDigi
virtual ~CbmDigi()
Destructor.
Definition
CbmDigi.h:46
CbmDigi::CbmDigi
CbmDigi()
Default constructor.
Definition
CbmDigi.cxx:13
CbmDigi::fLinks
FairMultiLinkedData * fLinks
Monte-Carlo link collection.
Definition
CbmDigi.h:67
CbmDigi::GetSystemId
virtual Int_t GetSystemId() const =0
System (enum DetectorId).
CbmDigi::GetLinks
FairMultiLinkedData * GetLinks() const
Get pointer to link collection.
Definition
CbmDigi.h:55
FairMultiLinkedData
TObject::TObject
TObject()
base
cbm
CbmDigi.h
Generated on
for BmnRoot by
1.17.0