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_MCH_SIMULATION_DETECTOR_H
13#define O2_MCH_SIMULATION_DETECTOR_H
14
16#include "MCHSimulation/Hit.h"
17#include <vector>
18#include <memory>
19
20namespace o2
21{
22namespace mch
23{
24
25class Stepper;
26
27class Detector : public o2::base::DetImpl<Detector>
28{
29 public:
30 Detector(bool active = true);
31
32 ~Detector() override;
33
34 Bool_t ProcessHits(FairVolume* v = nullptr) override;
35
36 void InitializeO2Detector() override;
37
38 void Register() override;
39
40 void Reset() override {}
41
42 void ConstructGeometry() override;
43
45 void addAlignableVolumes() const override;
46
47 std::vector<o2::mch::Hit>* getHits(int);
48
49 void EndOfEvent() override;
50
51 private:
53 Detector(const Detector& rhs);
54
55 void defineSensitiveVolumes();
56
57 bool setHits(int i, std::vector<o2::mch::Hit>* ptr);
58
59 o2::mch::Stepper* mStepper{nullptr};
60
61 template <typename Det>
62 friend class o2::base::DetImpl;
63 ClassDefOverride(Detector, 1);
64};
65
66} // namespace mch
67} // namespace o2
68
69#ifdef USESHM
70namespace o2
71{
72namespace base
73{
74template <>
75struct UseShm<o2::mch::Detector> {
76 static constexpr bool value = true;
77};
78} // namespace base
79} // namespace o2
80#endif
81
82#endif
Definition of the Detector class.
int32_t i
TBranch * ptr
Detector()
Default Constructor.
Definition Detector.cxx:36
Bool_t ProcessHits(FairVolume *v=nullptr) override
Definition Detector.cxx:73
void Reset() override
Definition Detector.h:40
void InitializeO2Detector() override
Definition Detector.cxx:51
void ConstructGeometry() override
Definition Detector.cxx:56
void Register() override
Definition Detector.cxx:96
void EndOfEvent() override
Definition Detector.cxx:103
void addAlignableVolumes() const override
Add alignable top volumes.
Definition Detector.cxx:65
~Detector() override
Definition Detector.cxx:39
std::vector< o2::mch::Hit > * getHits(int)
Definition Detector.cxx:80
const GLdouble * v
Definition glcorearb.h:832
GLsizei const GLfloat * value
Definition glcorearb.h:819
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...