PandaRoot
PndFtsDataAccessor.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 // Author: Martin Galuska
15 // martin (dot) j [dot] galuska <at> physik {dot} uni (minus) giessen <dot> de
16 //
17 // Data Accessor for Ivan Kisel's group
18 //
19 // Created: 27.11.2013
20 // Modified: 15.01.2014
21 //
22 // *************************************************************************
23 
24 #ifndef FTSDATAACCESSH
25 #define FTSDATAACCESSH
26 
27 //#include "TObject.h"
28 //#include "TObjArray.h"
29 //#include "TArrayI.h"
30 //#include "TBenchmark.h"
31 #include "TVector3.h"
32 #include "TDatabasePDG.h"
33 #include "TClonesArray.h"
34 //#include "Riostream.h"
35 #include "FairTask.h"
36 #include "PndGeoFtsPar.h"
37 #include <cmath>
38 
39 class FairField;
40 
41 class PndFtsDataAccessor : public FairTask {
42 
43  public:
45  virtual ~PndFtsDataAccessor();
46 
47  virtual void Exec(Option_t *option);
48  virtual InitStatus Init();
49  virtual void Finish(){};
50 
51  void Reset(){};
52  void Register();
53 
54  void SetParContainers();
55 
56  void SetFtsActivity(Bool_t act = kTRUE) { fBranchActive[0] = act; }
57  void SetGemActivity(Bool_t act = kTRUE) { fBranchActive[1] = act; }
58  void SetMvdActivity(Bool_t act = kTRUE)
59  {
60  fBranchActive[2] = act;
61  fBranchActive[3] = act;
62  }
63 
64  void SetPersistence(Bool_t persistence) { fPersistence = persistence; }
65 
66  protected:
67  TClonesArray *fMCTracks;
68  TClonesArray *fMCPoints[4];
69  TClonesArray *fHits[4];
70  Int_t fBranchIDs[4];
71  Bool_t fBranchActive[4];
72 
73  // for B field access
74  FairField *fField;
75  Double_t By;
76  Double_t po[3], BB[3];
77 
78  Bool_t fPersistence; // Persistence of tracking TCAs
79 
80  TDatabasePDG *pdg;
81 
83  TClonesArray *fTubeArrayFts;
84 
86  PndFtsDataAccessor &operator=(const PndFtsDataAccessor &) { return *this; }
87 
89 };
90 #endif
virtual ~PndFtsDataAccessor()
void SetMvdActivity(Bool_t act=kTRUE)
PndGeoFtsPar * fFtsParameters
Particle DB.
FairField * fField
Array of Branch Activeness.
ClassDef(PndFtsDataAccessor, 1)
virtual void Exec(Option_t *option)
TClonesArray * fMCPoints[4]
Array of PndMCTrack.
Bool_t fBranchActive[4]
Array of Branch IDs.
TClonesArray * fMCTracks
virtual void Finish()
virtual InitStatus Init()
void SetGemActivity(Bool_t act=kTRUE)
TClonesArray * fHits[4]
Array of event&#39;s points.
TClonesArray * fTubeArrayFts
void SetPersistence(Bool_t persistence)
void SetFtsActivity(Bool_t act=kTRUE)
PndFtsDataAccessor & operator=(const PndFtsDataAccessor &)
Int_t fBranchIDs[4]
Array of event&#39;s hits.