Project
Loading...
Searching...
No Matches
RecPoints.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef ALICEO2_FT0_RECPOINTS_H
16#define ALICEO2_FT0_RECPOINTS_H
17
23#include <array>
24#include "Rtypes.h"
25#include <TObject.h>
26#include <gsl/span>
27
28namespace o2
29{
30namespace ft0
31{
32
34
35 int ChId = -1; //channel Id
36 int ChainQTC = -1; //QTC chain
37 float CFDTime = -20000; //time in ps, 0 at the LHC clk center
38 float QTCAmpl = -20000; // Amplitude mV
39
40 ChannelDataFloat() = default;
41 ChannelDataFloat(int iPmt, float time, float charge, int chainQTC)
42 {
43 ChId = iPmt;
44 CFDTime = time;
46 ChainQTC = chainQTC;
47 }
48
49 void print() const;
50
52};
53
55{
56
57 public:
58 enum : int { TimeMean,
62
64 o2::InteractionRecord mIntRecord; // Interaction record (orbit, bc)
65 RecPoints() = default;
66 RecPoints(const std::array<short, 4>& collisiontime,
67 int first, int ne, o2::InteractionRecord iRec, o2::fit::Triggers chTrig)
68 : mCollisionTime(collisiontime)
69 {
70 ref.setFirstEntry(first);
71 ref.setEntries(ne);
72 mIntRecord = iRec;
73 mTriggers = chTrig;
74 }
75 ~RecPoints() = default;
76
77 void print() const;
78
79 short getCollisionTime(int side) const { return mCollisionTime[side]; }
81 short getCollisionTimeA() const { return getCollisionTime(TimeA); }
82 short getCollisionTimeC() const { return getCollisionTime(TimeC); }
84 void setCollisionTime(short time, int side) { mCollisionTime[side] = time; }
85
86 short getVertex() const { return getCollisionTime(Vertex); }
87 void setVertex(short vertex) { mCollisionTime[Vertex] = vertex; }
88
89 o2::fit::Triggers getTrigger() const { return mTriggers; }
90 void setTriggers(o2::fit::Triggers trig) { mTriggers = trig; }
91
93
94 // void SetMgrEventTime(Double_t time) { mTimeStamp = time; }
95
96 gsl::span<const ChannelDataFloat> getBunchChannelData(const gsl::span<const ChannelDataFloat> tfdata) const;
97 short static constexpr sDummyCollissionTime = 32767;
98
99 private:
100 std::array<short, 4> mCollisionTime = {sDummyCollissionTime,
104 o2::fit::Triggers mTriggers; // pattern of triggers in this BC
105
106 ClassDefNV(RecPoints, 3);
107};
108} // namespace ft0
109} // namespace o2
110#endif
Class to describe fired and stored channels for the BC and to refer to channel data.
int16_t charge
Definition RawEventData.h:5
uint64_t vertex
Definition RawEventData.h:9
int16_t time
Definition RawEventData.h:4
Class to refer to the 1st entry and N elements of some group in the continuous container.
uint32_t side
Definition RawData.h:0
short getCollisionTimeA() const
Definition RecPoints.h:81
o2::dataformats::RangeReference< int, int > ref
Definition RecPoints.h:63
static short constexpr sDummyCollissionTime
Definition RecPoints.h:97
short getCollisionTimeC() const
Definition RecPoints.h:82
bool isValidTime(int side) const
Definition RecPoints.h:83
short getVertex() const
Definition RecPoints.h:86
o2::fit::Triggers getTrigger() const
Definition RecPoints.h:89
short getCollisionTimeMean() const
Definition RecPoints.h:80
short getCollisionTime(int side) const
Definition RecPoints.h:79
o2::InteractionRecord getInteractionRecord() const
Definition RecPoints.h:92
void setTriggers(o2::fit::Triggers trig)
Definition RecPoints.h:90
void print() const
RecPoints(const std::array< short, 4 > &collisiontime, int first, int ne, o2::InteractionRecord iRec, o2::fit::Triggers chTrig)
Definition RecPoints.h:66
void setVertex(short vertex)
Definition RecPoints.h:87
void setCollisionTime(short time, int side)
Definition RecPoints.h:84
o2::InteractionRecord mIntRecord
Definition RecPoints.h:64
~RecPoints()=default
gsl::span< const ChannelDataFloat > getBunchChannelData(const gsl::span< const ChannelDataFloat > tfdata) const
Definition RecPoints.cxx:24
struct o2::upgrades_utils::@462 ft0
structure to keep V0C information
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
static constexpr double DummyTime
ChannelDataFloat(int iPmt, float time, float charge, int chainQTC)
Definition RecPoints.h:41
ClassDefNV(ChannelDataFloat, 1)