Project
Loading...
Searching...
No Matches
Detector.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
12#ifndef O2_MID_SIMULATION_DETECTOR_H
13#define O2_MID_SIMULATION_DETECTOR_H
14
15#include <vector>
18#include "MIDSimulation/Hit.h"
20
21namespace o2
22{
23namespace mid
24{
25
26class Detector : public o2::base::DetImpl<Detector>
27{
28 public:
29 Detector(bool active = true);
30
31 void InitializeO2Detector() override;
32
33 bool ProcessHits(FairVolume* vol = nullptr) override;
34
35 void Register() override;
36
37 std::vector<o2::mid::Hit>* getHits(int iColl);
38
39 void Reset() override {}
40
41 void ConstructGeometry() override;
42
43 void EndOfEvent() override;
44
45 private:
47 Detector(const Detector& rhs);
48
49 void defineSensitiveVolumes();
50
51 bool setHits(int iColl, std::vector<o2::mid::Hit>* ptr);
52
53 o2::mid::Stepper mStepper;
54
55 template <typename Det>
56 friend class o2::base::DetImpl;
57 ClassDefOverride(Detector, 1);
58};
59
60} // namespace mid
61} // namespace o2
62
63#ifdef USESHM
64namespace o2
65{
66namespace base
67{
68template <>
69struct UseShm<o2::mid::Detector> {
70 static constexpr bool value = true;
71};
72} // namespace base
73} // namespace o2
74#endif
75
76#endif
Definition of the Detector class.
Hit for MID.
TBranch * ptr
Detector()
Default Constructor.
Definition Detector.cxx:36
void ConstructGeometry() override
Definition Detector.cxx:82
void Register() override
Definition Detector.cxx:73
void Reset() override
Definition Detector.h:39
bool ProcessHits(FairVolume *vol=nullptr) override
Definition Detector.cxx:48
void EndOfEvent() override
Definition Detector.cxx:80
std::vector< o2::mid::Hit > * getHits(int iColl)
Definition Detector.cxx:57
void InitializeO2Detector() override
Definition Detector.cxx:43
GLsizei const GLfloat * value
Definition glcorearb.h:819
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...