Skip to content
Snippets Groups Projects
Select Git revision
  • d531af7046b24be10a8a31e4b484874db43d12f9
  • master default protected
  • nightly_master
  • online_much_readconf_cleanup protected
  • online_mvd_readconf_cleanup protected
  • jul25_patches
  • cleanup_rich_v25a
  • jul24_patches
  • nov23_patches
  • DC_2404
  • nighly_master
  • DC_Jan24
  • DC_Nov23
  • DC_Oct23
  • feb23_patches
  • L1Algo-dev9
  • dec21_patches protected
  • apr21_patches protected
  • dev_2025_47
  • RC2_jul25
  • dev_2025_46
  • dev_2025_45
  • dev_2025_44
  • dev_2025_43
  • dev_2025_42
  • dev_2025_41
  • dev_2025_40
  • dev_2025_39
  • dev_2025_38
  • dev_2025_37
  • dev_2025_36
  • dev_2025_35
  • dev_2025_34
  • dev_2025_33
  • dev_2025_32
  • dev_2025_31
  • dev_2025_30
  • RC_jul25
38 results

CbmMvdSensorDigiToHitTask.h

Blame
  • Eoin Clerkin's avatar
    Eoin Clerkin authored
    Decision to not use doxygen for licence headers. Removes doxygen formatting and file tag.
    35afe0ea
    History
    CbmMvdSensorDigiToHitTask.h 3.84 KiB
    /* Copyright (C) 2019 Frankfurt Institute for Advanced Studies, Goethe-Universität Frankfurt, Frankfurt
       SPDX-License-Identifier: GPL-3.0-only
       Authors:  */
    
    // -------------------------------------------------------------------------
    // -----                   CbmMvdSensorClusterfinderTask header file   -----
    // -----                   27.11.18 Edited by K. Hunold                -----
    // -------------------------------------------------------------------------
    
    
    #ifndef CBMMVDSENSORDIGITOHITTASK_H
    #define CBMMVDSENSORDIGITOHITTASK_H 1
    
    #include "CbmMvdCluster.h"
    #include "CbmMvdDigi.h"
    #include "CbmMvdHit.h"
    
    #include "TArrayS.h"
    #include "TCanvas.h"
    #include "TH1.h"
    #include "TH1F.h"
    #include "TH2.h"
    #include "TMath.h"
    #include "TObjArray.h"
    #include "TRandom3.h"
    #include "TRefArray.h"
    #include "TStopwatch.h"
    #include "TString.h"
    
    #include <list>
    #include <map>
    #include <numeric>
    #include <utility>
    #include <vector>
    //#include <Vc/Vc>
    
    #include "CbmMvdSensor.h"
    #include "CbmMvdSensorTask.h"
    
    class TClonesArray;
    class TRandom3;
    
    class CbmMvdSensorDigiToHitTask : public CbmMvdSensorTask {
    
    public:
      /** Default constructor **/
      CbmMvdSensorDigiToHitTask();
    
    
      /** Standard constructor
         *@param name  Task name
         *@param mode  0 = no fake digis generation, 1 = generate fake digis
         **/
      CbmMvdSensorDigiToHitTask(Int_t mode, Int_t iVerbose);
    
    
      /** Destructor **/
      virtual ~CbmMvdSensorDigiToHitTask();
    
      /** Task execution **/
      void ExecChain();
      void Exec();
    
      /** Intialisation **/
      void InitTask(CbmMvdSensor* mySensor);
    
      virtual void SetInputDigi(CbmMvdDigi* digi)
      {
        new ((*fInputBuffer)[fInputBuffer->GetEntriesFast()]) CbmMvdDigi(*((CbmMvdDigi*) digi));
        inputSet = kTRUE;
      }
    
    
      /** Modifiers **/
      void SetSigmaNoise(Double_t sigmaNoise, Bool_t addNoise)
      {
        fSigmaNoise = sigmaNoise;
        fAddNoise   = addNoise;
      }
      void SetSeedThreshold(Double_t seedCharge) { fSeedThreshold = seedCharge; }
      void SetNeighbourThreshold(Double_t neighCharge) { fNeighThreshold = neighCharge; }
    
    
      void SetAdcDynamic(Int_t adcDynamic) { fAdcDynamic = adcDynamic; };
      void SetAdcOffset(Int_t adcOffset) { fAdcOffset = adcOffset; };
      void SetAdcBits(Int_t adcBits) { fAdcBits = adcBits; };
      float GetAdcCharge(Float_t charge);
    
      /**Detector Spatial resolution.
        Correlated with number of adc bits*/
      void SetHitPosErrX(Double_t errorX) { fHitPosErrX = errorX; }
      void SetHitPosErrY(Double_t errorY) { fHitPosErrY = errorY; }
      void SetHitPosErrZ(Double_t errorZ) { fHitPosErrZ = errorZ; }
    
      void UpdateDebugHistos(CbmMvdCluster* cluster);
    
      //protected:
    protected:
      // ----------   Protected data members  ------------------------------------
      Int_t fAdcDynamic;
      Int_t fAdcOffset;
      Int_t fAdcBits;
      TCanvas* c1;
    
    
      std::map<std::pair<Int_t, Int_t>, Int_t> fDigiMap;
      std::map<std::pair<Int_t, Int_t>, Int_t>::iterator fDigiMapIt;
    
    private:
      Int_t fVerbose;
      Double_t fSigmaNoise;
      Double_t fSeedThreshold;
      Double_t fNeighThreshold;
    
      Bool_t inputSet;
    
      Double_t fLayerRadius;
      Double_t fLayerRadiusInner;
      Double_t fLayerPosZ;
      Double_t fHitPosX;
      Double_t fHitPosY;
      Double_t fHitPosZ;
      Double_t fHitPosErrX;
      Double_t fHitPosErrY;
      Double_t fHitPosErrZ;
    
    
      static const Short_t fChargeArraySize = 5;  //must be an odd number >3, recommended numbers= 5 or 7
    
      Bool_t fAddNoise;
    
      // -----   Private methods   ---------------------------------------------
    
    
      /** Clear the arrays **/
      void Reset() { ; };
    
      /** Virtual method Finish **/
      void Finish();
    
      /** Reinitialisation **/
      Bool_t ReInit();
    
    
      /** Get MVD geometry parameters from database
         **@value Number of MVD stations
         **/
      Int_t GetMvdGeometry() { return 0; };
    
    
    private:
      CbmMvdSensorDigiToHitTask(const CbmMvdSensorDigiToHitTask&);
      CbmMvdSensorDigiToHitTask operator=(const CbmMvdSensorDigiToHitTask&);
    
      ClassDef(CbmMvdSensorDigiToHitTask, 1);
    };
    
    
    #endif