BmnRoot
26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
CbmStsModule.h
Go to the documentation of this file.
1
/** @file CbmStsModule.h
2
** @author Volker Friese <v.friese@gsi.de>
3
** @date 14.05.2013
4
**/
5
6
#ifndef CBMSTSMODULE_H
7
#define CBMSTSMODULE_H 1
8
9
#include "
CbmStsElement.h
"
10
#include "
CbmStsSenzor.h
"
11
#include "
TNamed.h
"
12
13
#include <map>
14
#include <vector>
15
16
class
TGeoPhysicalNode
;
17
18
using namespace
std;
19
20
/** @class CbmStsModule
21
** @brief Class representing an instance of a readout unit in the CBM-STS.
22
** @author V.Friese <v.friese@gsi.de>
23
** @version 1.0
24
**
25
** The StsModule is the read-out unit in the CBM STS. It consists of one
26
** sensor or two or more daisy-chained sensors (CbmStsSensor), the analogue
27
** cable and the read-out electronics.
28
**
29
** The module receives and stores the analogue signals from the sensor(s)
30
** in a buffer. It takes care of interference of signals in one and the
31
** same channel (two signals arriving within a given dead time).
32
** The module digitises the analogue signals and sends them to the
33
** CbmDaq when appropriate.
34
**/
35
36
class
CbmStsModule
:
public
CbmStsElement
37
{
38
public
:
39
/** Default constructor **/
40
CbmStsModule
();
41
42
/** Standard constructor
43
** @param name Name
44
** @param title Title
45
** @param node Pointer to relevant TGeoPhysicalNode
46
*/
47
CbmStsModule
(
const
char
* name,
const
char
* title,
TGeoPhysicalNode
* node = NULL);
48
49
/** Destructor **/
50
virtual
~CbmStsModule
();
51
52
// Add daughter element (from base class)
53
// @param element Pointer to element to be added as daughter.
54
// virtual void AddDaughter(CbmStsElement* element);
55
56
/** Add a sensor to the module
57
** @param sensor Pointer to sensor object
58
**/
59
void
AddSensor
(
CbmStsSenzor
* sensor);
60
61
/** Add an analogue signal to the buffer
62
*
63
* @param channel channel number
64
* @param time time of signal [ns]
65
* @param charge analogue charge [e]
66
*
67
* The signal will be added to the buffer. Interference with
68
* previous signals within the same channels is checked and the
69
* proper action is executed.
70
*/
71
void
AddSignal
(
Int_t
channel,
Double_t
time,
Double_t
charge);
72
73
private
:
74
vector<CbmStsSenzor*>
fSensors
;
///< Array of sensors
75
// TODO: Unify inherited array and private array
76
77
/** Buffer for the analogue signals **/
78
map<Int_t, pair<Double_t, Double_t>>
fBuffer
;
79
80
CbmStsModule
(
const
CbmStsModule
&);
81
CbmStsModule
&
operator=
(
const
CbmStsModule
&);
82
83
ClassDef
(
CbmStsModule
, 1);
84
};
85
86
#endif
/* CBMSTSMODULE_H */
CbmStsElement.h
CbmStsSenzor.h
Int_t
int Int_t
Double_t
double Double_t
ClassDef
#define ClassDef(name, id)
TNamed.h
CbmStsElement::CbmStsElement
CbmStsElement()
Default constructor.
Definition
CbmStsElement.cxx:13
CbmStsModule::AddSignal
void AddSignal(Int_t channel, Double_t time, Double_t charge)
Add an analogue signal to the buffer.
Definition
CbmStsModule.cxx:64
CbmStsModule::AddSensor
void AddSensor(CbmStsSenzor *sensor)
Add a sensor to the module.
Definition
CbmStsModule.cxx:33
CbmStsModule::fSensors
vector< CbmStsSenzor * > fSensors
Array of sensors.
Definition
CbmStsModule.h:74
CbmStsModule::CbmStsModule
CbmStsModule()
Default constructor.
Definition
CbmStsModule.cxx:13
CbmStsModule::~CbmStsModule
virtual ~CbmStsModule()
Destructor.
Definition
CbmStsModule.cxx:29
CbmStsModule::CbmStsModule
CbmStsModule(const CbmStsModule &)
CbmStsModule::operator=
CbmStsModule & operator=(const CbmStsModule &)
CbmStsModule::fBuffer
map< Int_t, pair< Double_t, Double_t > > fBuffer
Buffer for the analogue signals.
Definition
CbmStsModule.h:78
CbmStsSenzor
Class representing an instance of a sensor in the CBM-STS.
Definition
CbmStsSenzor.h:28
TGeoPhysicalNode
detectors
sts
setup
CbmStsModule.h
Generated on
for BmnRoot by
1.17.0