Project
Loading...
Searching...
No Matches
CathodeSegmentationCInterface.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
27#ifndef O2_MCH_CATHODESEGMENTATIONCINTERFACE_H
28#define O2_MCH_CATHODESEGMENTATIONCINTERFACE_H
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
35
36typedef void (*MchDetectionElementHandler)(void* clientData, int detElemId);
37
38typedef void (*MchDualSampaHandler)(void* clientData, int dualSampaId);
39
40typedef void (*MchPadHandler)(void* clientData, int catPadIndex);
41
47
50
54
63
67
76
79
81int mchCathodeSegmentationFindPadByFEE(MchCathodeSegmentationHandle segHandle, int dualSampaId, int dualSampaChannel) __attribute__((weak));
83
94
96
97double mchCathodeSegmentationPadSizeX(MchCathodeSegmentationHandle segHandle, int catPadIndex) __attribute__((weak));
98
99double mchCathodeSegmentationPadSizeY(MchCathodeSegmentationHandle segHandle, int catPadIndex) __attribute__((weak));
100
102
105
111
113
115
117 void* clientData) __attribute__((weak));
118
119void mchCathodeSegmentationForEachPadInArea(MchCathodeSegmentationHandle segHandle, double xmin, double ymin, double xmax,
120 double ymax, MchPadHandler handler, void* clientData) __attribute__((weak));
121
123
125 void* userData) __attribute__((weak));
127
128#ifdef __cplusplus
129};
130#endif
131
132#endif
bool isBendingPlane
double mchCathodeSegmentationPadSizeY(MchCathodeSegmentationHandle segHandle, int catPadIndex) __attribute__((weak))
void mchCathodeSegmentationForEachPadInDualSampa(MchCathodeSegmentationHandle segHandle, int dualSampaId, MchPadHandler handler, void *clientData) __attribute__((weak))
void mchCathodeSegmentationForEachPad(MchCathodeSegmentationHandle segHandle, MchPadHandler handler, void *clientData) __attribute__((weak))
double mchCathodeSegmentationPadPositionY(MchCathodeSegmentationHandle segHandle, int catPadIndex) __attribute__((weak))
double mchCathodeSegmentationPadPositionX(MchCathodeSegmentationHandle segHandle, int catPadIndex) __attribute__((weak))
void(* MchPadHandler)(void *clientData, int catPadIndex)
void mchCathodeSegmentationForEachPadInArea(MchCathodeSegmentationHandle segHandle, double xmin, double ymin, double xmax, double ymax, MchPadHandler handler, void *clientData) __attribute__((weak))
int mchCathodeSegmentationFindPadByFEE(MchCathodeSegmentationHandle segHandle, int dualSampaId, int dualSampaChannel) __attribute__((weak))
Find the pad connected to the given channel of the given dual sampa.
int mchCathodeSegmentationPadDualSampaChannel(MchCathodeSegmentationHandle segHandle, int catPadIndex) __attribute__((weak))
void mchCathodeSegmentationForEachNeighbouringPad(MchCathodeSegmentationHandle segHandle, int catPadIndex, MchPadHandler handler, void *userData) __attribute__((weak))
double mchCathodeSegmentationPadSizeX(MchCathodeSegmentationHandle segHandle, int catPadIndex) __attribute__((weak))
int mchCathodeSegmentationPadDualSampaId(MchCathodeSegmentationHandle segHandle, int catPadIndex) __attribute__((weak))
struct MchCathodeSegmentation * MchCathodeSegmentationHandle
void mchCathodeSegmentationForEachDetectionElement(MchDetectionElementHandler handler, void *clientData) __attribute__((weak))
void mchCathodeSegmentationForOneDetectionElementOfEachSegmentationType(MchDetectionElementHandler handler, void *clientData) __attribute__((weak))
int mchCathodeSegmentationIsPadValid(MchCathodeSegmentationHandle segHandle, int catPadIndex) __attribute__((weak))
Return > 0 if catPadIndex is a valid one or <= 1 if not.
void mchCathodeSegmentationForEachDualSampa(MchCathodeSegmentationHandle segHandle, MchDualSampaHandler handler, void *clientData) __attribute__((weak))
void mchCathodeSegmentationDestruct(MchCathodeSegmentationHandle segHandle) __attribute__((weak))
Delete a segmentation handle.
int mchCathodeSegmentationFindPadByPosition(MchCathodeSegmentationHandle segHandle, double x, double y) __attribute__((weak))
Find the pad at position (x,y) (in cm).
void(* MchDualSampaHandler)(void *clientData, int dualSampaId)
MchCathodeSegmentationHandle mchCathodeSegmentationConstruct(int detElemId, bool isBendingPlane) __attribute__((weak))
Create a handle to a segmentation for a given plane of a detection element.
void(* MchDetectionElementHandler)(void *clientData, int detElemId)
GLint GLenum GLint x
Definition glcorearb.h:403
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)