forked from R3BRootGroup/R3BRoot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
R3BCalifaMapped2CrystalCal.h
87 lines (68 loc) · 3.2 KB
/
R3BCalifaMapped2CrystalCal.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <TClonesArray.h>
/******************************************************************************
* Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
* Copyright (C) 2019 Members of R3B Collaboration *
* *
* This software is distributed under the terms of the *
* GNU General Public Licence (GPL) version 3, *
* copied verbatim in the file "LICENSE". *
* *
* In applying this license GSI does not waive the privileges and immunities *
* granted to it by virtue of its status as an Intergovernmental Organization *
* or submit itself to any jurisdiction. *
******************************************************************************/
// -----------------------------------------------------------------------------
// ----- -----
// ----- R3BCalifaMapped2CrystalCal -----
// ----- Created 18/07/2014 by H. Alvarez-Pol -----
// ----- Modified 20/03/2017 by P. Cabanelas -----
// ----- Modified 15/12/2017 by E. Galiana -----
// ----- -----
// -----------------------------------------------------------------------------
#ifndef R3BCALIFAMAPPED2CRYSTALCAL_H
#define R3BCALIFAMAPPED2CRYSTALCAL_H
#include "FairTask.h"
#include "R3BCalifaCrystalCalData.h"
#include "R3BCalifaMappedData.h"
#include <TRandom.h>
#include <fair_collections.hh>
#include <TCAConnector.h>
#include <R3BCalifaGeometry.h> // R3BCalifaGeometry::cNbCrystalsGammaRange
class TClonesArray;
class R3BCalifaCrystalCalPar;
class R3BCalifaTotCalPar;
class R3BCalifaMapped2CrystalCal : public FairTask
{
public:
/** Default constructor **/
R3BCalifaMapped2CrystalCal(const std::string in="CalifaMappedData", const std::string out="CalifaCrystalCal");
/** Destructor **/
virtual ~R3BCalifaMapped2CrystalCal();
/** Virtual method Exec **/
virtual void Exec(Option_t* option);
virtual void SetParContainers();
// Fair specific
/** Virtual method Init **/
virtual InitStatus Init();
/** Virtual method ReInit **/
virtual InitStatus ReInit();
/** Accessor to select online mode **/
void SetOnline(Bool_t option) { fOnline = option; }
private:
roothacks::DContainer<R3BCalifaMappedData> fIn;
roothacks::ADContainer<R3BCalifaCrystalCalData> fOut;
void SetParameter();
UInt_t fNumCrystals{};
UInt_t fNumParams{};
UInt_t fNumTotParams{};
TArrayF* fCalParams{};
TArrayF* fCalTotParams{};
// Don't store data for online
Bool_t fOnline{};
R3BCalifaCrystalCalPar* fCal_Par{}; /**< Parameter container. >*/
R3BCalifaTotCalPar* fTotCal_Par{}; /**< Tot Parameter container. >*/
public:
// Class definition
ClassDef(R3BCalifaMapped2CrystalCal, 1)
};
#endif /* R3BCALIFAMAPPED2CRYSTALCAL_H */