PandaRoot
PndRichHitFinder.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 
18 #ifndef PNDRICHHITFINDER_H
19 #define PNDRICHHITFINDER_H
20 
21 #include <PndPersistencyTask.h>
22 #include "PndRichDigi.h"
23 #include "FairTSBufferFunctional.h"
24 #include "FairGeoVector.h"
25 #include "FairGeoTransform.h"
26 #include "FairMCEventHeader.h"
27 #include "TVector3.h"
28 //#include "TRandom.h"
29 #include "TGeoMatrix.h"
30 #include "TGeoBBox.h"
31 #include "PndGeoHandling.h"
32 
33 #include "PndRichGeo.h"
34 #include "PndRichPDHit.h"
35 #include <string>
36 #include <vector>
37 
38 class TClonesArray;
39 
41  public:
44 
46  PndRichHitFinder(Int_t iVerbose);
47 
49  PndRichHitFinder(const char *name, Int_t iVerbose);
50 
52  virtual ~PndRichHitFinder();
53 
55  virtual void SetParContainers();
56  virtual InitStatus Init();
57  virtual InitStatus ReInit();
58 
60  virtual void Exec(Option_t *opt);
61 
62  virtual void FinishEvent();
63  virtual void FinishTask();
64 
65  void SetPixelFactor(Int_t factor) { fPixelFactor = factor; }
66 
67  protected:
68  Bool_t fDigiPixelMCInfo; // switch to turn on/off storing additional MC Info of Digis
69 
71  TClonesArray *fDigiArray;
72 
74  TClonesArray *fPdHitArray;
75 
76  FairMCEventHeader *fMCEventHeader;
77 
78  void Register();
79  void Reset();
80  void ProduceHits();
81 
82  TString fInBranchName;
83  Int_t fPixelFactor;
84  Double_t fPixelSize; // pixel size;
85  Double_t fPixelGap; // gap betwen neighboring pixels
86  Double_t fPixelStep;
87  Double_t fMcpActiveArea; // dimension of the active area of one MCP
88  Int_t fNpix; // pixel rows in one one MCP
89  Int_t fPixelHits;
92  Int_t fEventNr;
94  Int_t fHitNumber;
95 
96  Double_t fThreshold;
97  Double_t petime;
98  Double_t fTimeStep;
99  Int_t fTimeGate;
100  Int_t fInd;
101  Int_t fIBuffer;
103  std::vector<Int_t> fBufferNumHits;
104  std::vector<Double_t> fBufferStartTime;
105  std::vector<std::vector<Double_t>> fHitsBuffer;
106 
107  BinaryFunctor *fStopFunctor;
108  BinaryFunctor *fGapFunctor;
109 
110  std::vector<PndRichPDHit> fPDHitList;
111 
113 };
114 
115 #endif
PndGeoHandling * fGeoH
BinaryFunctor * fGapFunctor
PndRichDigi * fDigi
std::vector< PndRichPDHit > fPDHitList
FairMCEventHeader * fMCEventHeader
virtual InitStatus ReInit()
virtual void SetParContainers()
void SetPixelFactor(Int_t factor)
virtual void Exec(Option_t *opt)
Class to access the naming information of the MVD.
std::vector< std::vector< Double_t > > fHitsBuffer
BinaryFunctor * fStopFunctor
virtual ~PndRichHitFinder()
ClassDef(PndRichHitFinder, 1)
std::vector< Int_t > fBufferNumHits
PndRichGeo * fGeo
TClonesArray * fPdHitArray
std::vector< Double_t > fBufferStartTime
virtual void FinishTask()
TClonesArray * fDigiArray
virtual void FinishEvent()
virtual InitStatus Init()