BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmStsCluster.h
Go to the documentation of this file.
1//* $Id: */
2
3// -------------------------------------------------------------------------
4// ----- CbmStsCluster header file -----
5// ----- Created 25/06/2008 by R. Karabowicz -----
6// -------------------------------------------------------------------------
7
8/** CbmStsCluster.h
9 **@author V.Friese <v.friese@gsi.de>
10 **@since 28.08.06
11 **@version 1.0
12 **
13 ** Data class for digital STS information
14 ** Data level: RAW
15 **
16 ** The detector ID consists of:
17 ** system ID (0-31, kSTS=2), bits 0-4, see base class
18 ** station number (0-255), bits 5-12
19 ** sector number (0-32767), bits 13-27
20 ** side (0=front side, 1=back side, bit 28, always 0 for pixel sectors).
21 **
22 ** The index of the (first) MCPoint having activated this channel
23 ** is accessible via GetMcPointIndex().
24 **/
25
26#ifndef CBMSTSCLUSTER_H
27#define CBMSTSCLUSTER_H 1
28
29#include "FairMultiLinkedData.h"
30
32{
33 public:
34 /** Default constructor **/
36
37 /** Constructor from station number, sector number,
38 ** front/back side and channel number
39 **@param digiSig digi signal (not used)
40 **@param iStation station number (0-255)
41 **@param iSector sector number (0-32767)
42 **@param iSide 0=front side; 1=back side
43 **/
44 CbmStsCluster(Double_t digiSig, Int_t iStation, Int_t iSector, Int_t iSide);
45
46 /** Destructor **/
47 virtual ~CbmStsCluster();
48
49 void AddDigi(Int_t idigi) { fDigis[fNofDigis++] = idigi; }
50 // void AddIndex(int index, double digiSig){
51 // AddLink(FairLink(kStsDigi, index));
52 // }
53 void SetMean(Double_t chan) { fChannel = chan; }
54 void SetMeanError(Double_t err) { fError = err; }
55
56 /** Accessors **/
57 Int_t GetDetectorId() const { return fDetectorId; }
58
59 Int_t GetStationNr() const { return (fDetectorId & (255 << 16)) >> 16; }
61 { // sector number within station
62 return (fDetectorId & (4095 << 4)) >> 4;
63 }
64 Int_t GetSide() const { return (fDetectorId & (1 << 0)) >> 0; } // 0=front, 1=back
65
66 Int_t GetNDigis() const { return fNofDigis; }
67 Int_t GetDigi(Int_t inum) { return fDigis[inum]; }
68 Double_t GetMean() const { return fChannel; }
69 Double_t GetMeanError() const { return fError; }
70 Double_t GetQtot() const { return fQtot; } // AZ
71 Int_t GetLeft() const { return fLeftEdge; } // AZ
72 void SetQtot(Double_t qtot) { fQtot = qtot; } // AZ
73 void SetLeft(Int_t left) { fLeftEdge = left; } // AZ: < 0 if no left neighbour
74
75 private:
77 // Int_t* fDigis;//[100];
78 Int_t fDigis[100];
82 Double32_t fQtot; // AZ
83 Int_t fLeftEdge; // AZ
84
86};
87
88#endif
int Int_t
double Double32_t
double Double_t
#define ClassDef(name, id)
CbmStsCluster.h.
void SetMeanError(Double_t err)
Int_t GetLeft() const
void SetMean(Double_t chan)
Int_t GetStationNr() const
Int_t GetSectorNr() const
virtual ~CbmStsCluster()
Destructor.
Double_t GetMean() const
Double_t fChannel
void SetQtot(Double_t qtot)
Int_t fDigis[100]
CbmStsCluster()
Default constructor.
CbmStsCluster(Double_t digiSig, Int_t iStation, Int_t iSector, Int_t iSide)
Constructor from station number, sector number, front/back side and channel number.
Double32_t fQtot
Int_t GetNDigis() const
Int_t GetDetectorId() const
Accessors.
Double_t GetMeanError() const
Double_t GetQtot() const
Int_t GetDigi(Int_t inum)
void SetLeft(Int_t left)
Double_t fError
Int_t GetSide() const
void AddDigi(Int_t idigi)