PandaRoot
PndSdsHitProducerIdeal.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 // ----- PndSdsHitProducerIdeal header file -----
15 // ----- based on the CbmStsHitProducerIdeal
16 // ----- Created 10/01/06 by V. Friese -----
17 // -------------------------------------------------------------------------
18 
26 #ifndef PNDSDSHITPRODUCERIDEAL_H
27 #define PNDSDSHITPRODUCERIDEAL_H
28 
29 #include "PndSdsTask.h"
30 //#include "PndSdsGeoPar.h"
31 #include "PndDetectorList.h"
32 
33 #include "TVector3.h"
34 #include "TRandom.h"
35 
36 class TClonesArray;
37 
39  public:
42 
45  PndSdsHitProducerIdeal(const char *name);
46 
48  virtual ~PndSdsHitProducerIdeal();
49 
51  virtual void SetParContainers();
52  virtual InitStatus Init();
53 
59  virtual void SetBranchNames() = 0;
60 
62  virtual void Exec(Option_t *opt);
63 
64  void SetPersistance(Bool_t p = kTRUE) { SetPersistency(p); }
65  void SetSmearing(Double_t x, Double_t y, Double_t z){ fDx= x; fDy=y; fDz=z;}
66 
68  {
69  if (this != &other) // protect against invalid self-assignment
70  {
71  fPointArray = other.fPointArray;
72  fHitArray = other.fHitArray;
73  }
74  return *this;
75  }
76 
77  protected:
79  TClonesArray *fPointArray;
80 
82  TClonesArray *fHitArray;
83 
84  Double_t fDx = 0.0001; //< Gaussian smearing in x (default set to 1 µm to have a non-zero value)
85  Double_t fDy = 0.0001; //< Gaussian smearing in y
86  Double_t fDz = 0.0001; //< Gaussian smearing in z
87 
88  // PndSdsGeoPar* fGeoPar;
89 
90  void Register();
91 
92  void Reset();
93 
94  void ProduceHits();
95 
97 };
98 
99 #endif
virtual ~PndSdsHitProducerIdeal()
PndSdsHitProducerIdeal & operator=(PndSdsHitProducerIdeal &other)
virtual void Exec(Option_t *opt)
void SetPersistency(Bool_t val=kTRUE)
PndSdsHitProducerIdeal(PndSdsHitProducerIdeal &other)
ClassDef(PndSdsHitProducerIdeal, 4)
void SetPersistance(Bool_t p=kTRUE)
void SetSmearing(Double_t x, Double_t y, Double_t z)
virtual void SetBranchNames()=0
virtual void SetParContainers()
virtual InitStatus Init()