PandaRoot
PndHypMicroWriter.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 /******************************************************
14 Class PndHypMicroWriter
15 
16 Collects Micro infromation from Reconstruction and
17 writes out PndPidCandidates
18 
19 Author: K.Goetzen, GSI, 06/2008
20 
21 *******************************************************/
22 
23 #ifndef PNDMICROWRITER_H
24 #define PNDMICROWRITER_H 1
25 
26 #include "FairTask.h"
27 #include "TH1F.h"
28 #include "TFile.h"
29 #include "TVector3.h"
30 #include "TLorentzVector.h"
31 #include <map>
32 #include <string>
33 
34 class TClonesArray;
35 class TObjectArray;
36 
37 class PndHypMicroWriter : public FairTask {
38 
39  public:
40  typedef std::map<Int_t, Float_t> mapper;
41 
44 
47 
49  virtual InitStatus Init();
50 
52  virtual void Exec(Option_t *opt);
53 
54  virtual void Finish();
55  // void CreateStructure();
56 
57  protected:
58  void propagate(TLorentzVector &l, TVector3 &p, float charge);
59 
60  TLorentzVector track1;
61  TLorentzVector track2;
62 
65  private:
66  int evtcnt; // event counter for output
67 
69  TClonesArray *fTrArray;
70 
72  TClonesArray *fHitArray;
73 
75  TClonesArray *fMCTrack;
76 
77  // Output arrays Candidates
78  TClonesArray *fChargedCandidates;
79  TClonesArray *fNeutralCandidates;
80  TClonesArray *fMcCandidates;
81  TClonesArray *fMicroCandidates;
82 
83  // output array EventInfo
84  TClonesArray *fEventInfo;
85 
86  bool fStoreNeutral;
87  bool fStoreCharged;
88  bool fStoreMC;
89 
90  Int_t mvd_hitidx[1000];
91  Int_t stt_hitidx[1000];
92  Int_t tpc_hitidx[1000];
93 
97  virtual void SetParContainers();
98 
99  ClassDef(PndHypMicroWriter, 1);
100 };
101 
102 #endif
TLorentzVector track2
virtual void Finish()
std::map< Int_t, Float_t > mapper
virtual void Exec(Option_t *opt)
TLorentzVector track1
void propagate(TLorentzVector &l, TVector3 &p, float charge)
virtual InitStatus Init()