BmnRoot
Loading...
Searching...
No Matches
BmnECALDigit.h
Go to the documentation of this file.
1#ifndef BMNECALDIGIT1_H
2#define BMNECALDIGIT1_H
3
4#include "BmnCaloDigit.h"
5#include <TGeoNode.h>
6
7
9{
10 ULong_t fAdcId = 0;
11 UShort_t fAdcChan = 0;
12 Int_t fChan = -1;
13 Double_t fX, fY, fZ;
14 Double_t fLabX, fLabY, fLabZ;
15 Double_t fCoeff = 1.;
16
17 public:
19 virtual ~BmnECALMapElement() {}
20
21 void SetAdcMap(Int_t chan, ULong_t adcId, UShort_t adcChan);
22 void SetCoeff(Int_t chan, Double_t coeff);
23 void SetCoords(TGeoNode * cell, TGeoNode * mother);
24
25 static void PrintTitle();
26 void Print();
27
28 Bool_t IsAdcMatch(ULong_t adcId, UShort_t adcChan) { return fChan > -1 && fAdcId == adcId && fAdcChan == adcChan+1; }
29
30 Int_t GetChan() { return fChan; }
31 Float_t GetX() { return fX; }
32 Float_t GetY() { return fY; }
33
34 Double_t GetLabX() { return fLabX; }
35 Double_t GetLabY() { return fLabY; }
36 Double_t GetLabZ() { return fLabZ; }
37
38 Double_t GetCoeff() { return fCoeff; }
39
40 Double_t * EcalCoords() {return &fX;}
41 Double_t * LabCoords() {return &fLabX;}
42};
43
44
46{
47 public:
50
52 BmnECALDigit(Float_t x, Float_t y, UChar_t ch, Float_t amp);
53
55
56 void Set(BmnECALMapElement * e, Float_t amp = 0., Float_t peakAmp = 0., Float_t startTime = 0., Float_t peakTime = 0.);
57
58 void SetIX(UChar_t ix) {}
59 void SetIY(UChar_t iy) {}
60 void SetSize(UChar_t size) {}
61 void SetPeakAmp(Float_t amp) { fPeakAmp = amp; }
62 void SetPeakTime(Float_t ns) { fPeakTime = ns; }
63 void SetStartTime(Float_t ns) { fStartTime = ns; }
64 void SetLabCoords(Float_t x, Float_t y, Float_t z) { fLabX= x; fLabY = y; fLabZ = z; }
65
66 UChar_t GetIX() const { return (Short_t) (fX / 40.);}
67 UChar_t GetIY() const { return (Short_t) (fY / 40.);;}
68 UChar_t GetSize() const { return 1;}
69 Float_t GetPeakAmp() const { return fPeakAmp; }
70 Float_t GetPeakTime() const { return fPeakTime; }
71 Float_t GetStartTime() const { return fStartTime; }
72 void GetLabCoords(Float_t &x, Float_t &y, Float_t &z) const { x = fLabX; y = fLabY; z = fLabZ; }
73
75 virtual ~BmnECALDigit() {}
76
77 private:
78 Float_t fPeakAmp;
79 Float_t fPeakTime;
80 Float_t fStartTime;
81 Float_t fLabX, fLabY, fLabZ;
82
83 ClassDef(BmnECALDigit, 3);
84};
85
86#endif /* BMNECALDIGIT1_H */
void SetSize(UChar_t size)
UChar_t GetSize() const
Float_t GetPeakAmp() const
void SetPeakAmp(Float_t amp)
void SetPeakTime(Float_t ns)
virtual ~BmnECALDigit()
void SetLabCoords(Float_t x, Float_t y, Float_t z)
UChar_t GetIX() const
void Set(BmnECALMapElement *e, Float_t amp=0., Float_t peakAmp=0., Float_t startTime=0., Float_t peakTime=0.)
void SetIY(UChar_t iy)
void SetIX(UChar_t ix)
UChar_t GetIY() const
void GetLabCoords(Float_t &x, Float_t &y, Float_t &z) const
void SetStartTime(Float_t ns)
Float_t GetPeakTime() const
Float_t GetStartTime() const
Double_t GetCoeff()
Bool_t IsAdcMatch(ULong_t adcId, UShort_t adcChan)
static void PrintTitle()
void SetCoords(TGeoNode *cell, TGeoNode *mother)
void SetCoeff(Int_t chan, Double_t coeff)
Double_t GetLabZ()
Double_t * EcalCoords()
virtual ~BmnECALMapElement()
Double_t GetLabY()
void SetAdcMap(Int_t chan, ULong_t adcId, UShort_t adcChan)
Double_t GetLabX()
Double_t * LabCoords()