IB-0.2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
IBExperiment.h
Go to the documentation of this file.
1 /*////////////////////////////////////////////////////////////////////////////
2  Copyright 2018 Istituto Nazionale di Fisica Nucleare
3 
4  Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
5  the European Commission - subsequent versions of the EUPL (the "Licence").
6  You may not use this work except in compliance with the Licence.
7 
8  You may obtain a copy of the Licence at:
9 
10  https://joinup.ec.europa.eu/software/page/eupl
11 
12  Unless required by applicable law or agreed to in writing, software
13  distributed under the Licence is distributed on an "AS IS" basis, WITHOUT
14  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15  Licence for the specific language governing permissions and limitations under
16  the Licence.
18 
19 
20 
21 #ifndef IBEXPERIMENT_H
22 #define IBEXPERIMENT_H
23 
24 //#include <iostream>
25 //#include <fstream>
26 
27 //#include <TFile.h>
28 //#include <TTree.h>
29 
30 //#include "Core/Options.h"
31 //#include "Detectors/MuonScatter.h"
32 
33 //#include "IB.h"
34 
35 //#include "IBMuonError.h"
36 #include "IBVoxCollection.h"
37 #include "IBMuonCollection.h"
38 
39 #include "IBVoxRaytracer.h"
40 #include "IBPocaEvaluator.h"
41 #include "IBMinimizationVariablesEvaluator.h"
42 #include "IBVoxFilters.h"
43 
44 #include "IBMuonEventTTreeReader.h"
45 
46 #include "IBAnalyzer.h"
47 
48 
50 // EXPERIMENT PARAMETERS //
51 
52 namespace IB {
53 
54 class Experiment
55 {
56 public:
57  Experiment() :
58  m_Reader(NULL),
59  m_Poca(NULL),
60  m_Tracer(NULL),
61  m_Analyzer(NULL),
62  m_Voxels(NULL)
63  {}
64 
65  ~Experiment() {}
66 
67  inline IBMuonCollection & Muons() { return this->m_Muons; }
68 
69  inline const IBMuonCollection & Muons() const { return this->m_Muons; }
70 
71  inline IBMuonEventTTreeReader* GetReader() const { return this->m_Reader; }
72 
73  inline void SetReader(IBMuonEventTTreeReader* reader) { this->m_Reader = reader; }
74 
75  inline IBPocaEvaluator* GetPoca() const { return this->m_Poca; }
76 
77  inline void SetPoca(IBPocaEvaluator* poca) { this->m_Poca = poca; }
78 
79  inline IBVoxRaytracer* GetTracer() const { return this->m_Tracer; }
80 
81  inline void SetTracer(IBVoxRaytracer* tracer) { this->m_Tracer = tracer; }
82 
83  inline IBAnalyzer* GetAnalyzer() const { return this->m_Analyzer; }
84 
85  inline void SetAnalyzer(IBAnalyzer* analyzer) { this->m_Analyzer = analyzer; }
86 
87  inline IBVoxCollection* GetVoxels() const { return this->m_Voxels; }
88 
89  inline void SetVoxels(IBVoxCollection* voxels) { this->m_Voxels = voxels; }
90 
91 protected:
92  // members //
93  IBMuonCollection m_Muons;
94  IBMuonEventTTreeReader *m_Reader;
95  IBPocaEvaluator *m_Poca;
96  IBVoxRaytracer *m_Tracer;
97  IBAnalyzer *m_Analyzer;
98  IBVoxCollection *m_Voxels;
99 };
100 
101 } // IB
102 
103 
104 
105 
106 #endif // IBEXPERIMENT_H