PandaRoot
TtCracowTask.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef TTCRACOWTASK_H
14 #define TTCRACOWTASK_H
15 
16 // Base Class Headers ----------------
17 #include "FairTask.h"
18 
19 // Collaborating Class Headers -------
20 #include <map>
21 #include "TString.h"
22 #include <iostream>
23 
24 using namespace std;
25 
26 // Collaborating Class Declarations --
27 class TClonesArray;
28 class TGeoManager;
29 
30 class TtCracowTask : public FairTask {
31 
32  public:
33  // Constructors/Destructors ---------
34  TtCracowTask();
35  // TtCracowTask(const TtCracowTask& o){};
36  // TtCracowTask& operator=(const TtCracowTask& o) { return *this;};
37  virtual ~TtCracowTask();
38  TtCracowTask(const TtCracowTask &) = delete;
39  TtCracowTask &operator=(const TtCracowTask &) = delete;
40 
41  virtual InitStatus Init();
42 
43  virtual void Exec(Option_t *opt);
44 
45  static void SumDistance2(int &, double *, double &sum, double *par, int); // for Fitter
46 
47  static double distance2(double x, double y, double z, double *p);
48 
49  static double distance2Single(double x, double y, double z, double ex, double ey, double ez, double *p);
50 
51  virtual void FinishEvent();
52 
53  private:
54  // Input Data------------
55  TClonesArray *fTCandArray;
56  TString fTCandBranchName;
57 
58  // Output Data----------
59  TClonesArray *fTrackArray;
60 
61  // Bool_t firstIt;
62 
63  Int_t fTrackcount;
64 
65  Int_t fEvent;
66 
67  Double_t fEloss[6]; // energy loss in each sensor
68 
69  // Fitting ------------
70 
71  void MyFit(Double_t *x, Double_t *y, Double_t *z, Double_t *Erx, Double_t *Ery, Double_t *Erz, Double_t *par, Double_t &chiX, Double_t &chiY);
72 
73  ClassDef(TtCracowTask, 1);
74 };
75 
76 #endif
STL namespace.