FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PndMdtHitProducerIdeal Class Reference

#include <PndMdtHitProducerIdeal.h>

Inheritance diagram for PndMdtHitProducerIdeal:
PndPersistencyTask

Public Member Functions

 PndMdtHitProducerIdeal ()
 
 ~PndMdtHitProducerIdeal ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
PndMdtHitAddHit (Int_t detID, TVector3 &pos, TVector3 &dpos, Int_t index)
 
void SetPositionSmearing (Float_t res)
 Set the smearing of the PndMdtHit position. More...
 
void SetPersistency (Bool_t val=kTRUE)
 
Bool_t GetPersistency ()
 

Private Member Functions

 ClassDef (PndMdtHitProducerIdeal, 1)
 

Private Attributes

Float_t fPosResolution
 Position smearing [cm]. More...
 
TClonesArray * fPointArray
 
TClonesArray * fHitArray
 

Detailed Description

Definition at line 11 of file PndMdtHitProducerIdeal.h.

Constructor & Destructor Documentation

PndMdtHitProducerIdeal::PndMdtHitProducerIdeal ( )

Default constructor

Definition at line 30 of file PndMdtHitProducerIdeal.cxx.

References PndPersistencyTask::SetPersistency().

30  :
31  PndPersistencyTask("Ideal MDT Hit Producer"), fPosResolution(-1.)
32 {
33  SetPersistency(kTRUE);
34 }
Float_t fPosResolution
Position smearing [cm].
void SetPersistency(Bool_t val=kTRUE)
PndMdtHitProducerIdeal::~PndMdtHitProducerIdeal ( )

Destructor

Definition at line 38 of file PndMdtHitProducerIdeal.cxx.

38 { }

Member Function Documentation

PndMdtHit * PndMdtHitProducerIdeal::AddHit ( Int_t  detID,
TVector3 &  pos,
TVector3 &  dpos,
Int_t  index 
)

Definition at line 120 of file PndMdtHitProducerIdeal.cxx.

References fHitArray.

Referenced by Exec().

120  {
121  // It fills the PndMdtHit category
122 
123  TClonesArray& clref = *fHitArray;
124  Int_t size = clref.GetEntriesFast();
125  return new(clref[size]) PndMdtHit(detID, pos, dpos, index);
126 }
TVector3 pos
PndMdtHitProducerIdeal::ClassDef ( PndMdtHitProducerIdeal  ,
 
)
private
void PndMdtHitProducerIdeal::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 87 of file PndMdtHitProducerIdeal.cxx.

References AddHit(), fHitArray, fPointArray, fPosResolution, point, and pos.

87  {
88 
89  // Reset output array
90  if ( ! fHitArray ) Fatal("Exec", "No HitArray");
91 
92  fHitArray->Delete();
93 
94  // Loop over MdtPoints
95  Int_t nPoints = fPointArray->GetEntriesFast();
96  PndMdtPoint *point = 0;
97  TVector3 pos;
99 
100  for (Int_t iPoint=0; iPoint<nPoints; iPoint++) {
101  point = (PndMdtPoint*) fPointArray->At(iPoint);
102  if (point->GetEnergyLoss()==0) continue;
103  //if ( (point->GetModule()==1) && (TMath::Odd(point->GetDetectorID())) ) continue;
104  point->Position(pos);
105  if (fPosResolution>0.)
106  {
107  pos.SetX(gRandom->Gaus(pos.X(),fPosResolution));
108  pos.SetY(gRandom->Gaus(pos.Y(),fPosResolution));
109  pos.SetZ(gRandom->Gaus(pos.Z(),fPosResolution));
110  }
111  AddHit(point->GetDetectorID(), pos, sig, iPoint);
112 
113  } // Loop over MCPoints
114 
115 }
TVector3 pos
Float_t fPosResolution
Position smearing [cm].
PndMdtHit * AddHit(Int_t detID, TVector3 &pos, TVector3 &dpos, Int_t index)
TClonesArray * point
Definition: anaLmdDigi.C:29
Bool_t PndPersistencyTask::GetPersistency ( )
inlineinherited

Definition at line 32 of file PndPersistencyTask.h.

References PndPersistencyTask::fPersistency.

Referenced by PndLmdPixelHitProducerFast::GetPersistance(), PndMdtDigitization::Init(), Init(), PndMdtClusterTask::Init(), PndFtsHitProducerRealFast::Init(), PndRichHitProducer::Init(), PndSttHitProducerRealFast::Init(), PndDiscTaskReconstruction::Init(), PndSttHelixHitProducer::Init(), PndDiscTaskPID::Init(), PndIdealTrackFinder::Init(), PndSttMvdGemTracking::Init(), PndMdtTrkProducer::Init(), PndFtsHitProducerRealFull::Init(), PndLmdPixelClusterTask::Init(), PndSttHitProducerRealFull::Init(), PndLmdStripClusterTask::Init(), PndEmcApdHitProducer::Init(), PndMissingPzCleanerTask::Init(), PndEmcMakeRecoHit::Init(), PndEmcMakeClusterOnline::Init(), PndTrackSmearTask::Init(), PndEmcFWEndcapTimebasedWaveforms::Init(), PndSttHitProducerIdeal::Init(), PndEmcFWEndcapDigi::Init(), PndFtsHitProducerIdeal::Init(), PndEmcMakeCluster::Init(), PndMdtPointsToWaveform::Init(), PndDiscTaskDigitization::Init(), PndEmcMakeDigi::Init(), PndSdsTimeWalkCorrTask::Init(), PndLmdPixelHitProducerFast::Init(), PndDrcHitFinder::Init(), PndRichHitFinder::Init(), PndEmcMakeCorr::Init(), PndFtofHitProducerIdeal::Init(), PndEmcHitsToWaveform::Init(), PndSciTDigiTask::Init(), PndDrcHitProducerIdeal::Init(), PndSdsHitProducerIdeal::Init(), PndSciTHitProducerIdeal::Init(), PndEmcHitProducer::Init(), PndRecoMultiKalmanTask2::Init(), PndDrcHitProducerReal::Init(), PndDskFLGHitProducerIdeal::Init(), PndEmcTmpWaveformToDigi::Init(), PndDrcDigiTask::Init(), PndEmcWaveformToDigi::Init(), PndSttMatchTracks::Init(), PndEmcWaveformToCalibratedDigi::Init(), PndTrkTracking2::Init(), PndSttFindTracks::Init(), PndEmcMultiWaveformToCalibratedDigi::Init(), PndDrcTimeDigiTask::Init(), PndRecoKalmanTask2::Init(), PndEmcExpClusterSplitter::Init(), PndSdsNoiseProducer::Init(), PndFtsHoughTrackerTask::Init(), PndEmcPhiBumpSplitter::Init(), PndSdsHybridHitProducer::Init(), PndSdsIdealRecoTask::Init(), PndRecoMultiKalmanTask::Init(), PndSdsIdealClusterTask::Init(), PndRecoKalmanTask::Init(), PndSdsStripHitProducerDif::Init(), PndSdsStripHitProducer::Init(), PndGemDigitize::Init(), PndGemFindHits::Init(), PndSdsPixelClusterTask::Init(), PndSdsStripClusterTask::Init(), PndMvdGemTrackFinderOnHits::Init(), PndBarrelTrackFinder::Init(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcMakeBump::PndEmcMakeBump(), PndUnassignedHitsTask::RegisterBranches(), PndMvdClusterTask::SetPersistance(), PndMvdDigiTask::SetPersistance(), PndEmcMakeBump::SetStorageOfData(), and PndEmcFullDigiTask::StoreDigi().

32 { return fPersistency; }
InitStatus PndMdtHitProducerIdeal::Init ( )
virtual

Virtual method Init

Definition at line 44 of file PndMdtHitProducerIdeal.cxx.

References fHitArray, fPointArray, fPosResolution, and PndPersistencyTask::GetPersistency().

44  {
45 
46  cout << "-I- PndMdtHitProducerIdeal::Init: "
47  << "INITIALIZATION *********************" << endl;
48 
49  //FairRun* sim = FairRun::Instance(); //[R.K. 01/2017] unused variable?
50  //FairRuntimeDb* rtdb=sim->GetRuntimeDb(); //[R.K. 01/2017] unused variable?
51 
52  // Get RootManager
53  FairRootManager* ioman = FairRootManager::Instance();
54  if ( ! ioman ) {
55  cout << "-E- PndMdtHitProducerIdeal::Init: "
56  << "RootManager not instantiated!" << endl;
57  return kFATAL;
58  }
59 
60  // Get input array
61  fPointArray = (TClonesArray*) ioman->GetObject("MdtPoint");
62  if ( ! fPointArray ) {
63  cout << "-W- PndMdtHitProducerIdeal::Init: "
64  << "No MdtPoint array!" << endl;
65  return kERROR;
66  }
67 
68  // Create and register output array
69  fHitArray = new TClonesArray("PndMdtHit");
70 
71  ioman->Register("MdtHit","Mdt",fHitArray, GetPersistency());
72 
73  if (fPosResolution>0.)
74  cout << "-I- PndMdtHitProducerIdeal::Init: "
75  << "Hit Position smearing: " << fPosResolution << " [cm]" << endl;
76 
77  cout << "-I- PndMdtHitProducerIdeal: Intialization successfull" << endl;
78 
79  return kSUCCESS;
80 
81 }
Float_t fPosResolution
Position smearing [cm].
void PndPersistencyTask::SetPersistency ( Bool_t  val = kTRUE)
inlineinherited

Definition at line 31 of file PndPersistencyTask.h.

References PndPersistencyTask::fPersistency, and val.

Referenced by barrelTrackFinder(), digi_complete(), digi_complete_newSTT(), digiOnly_complete(), PndBarrelTrackFinder::PndBarrelTrackFinder(), PndCATracking::PndCATracking(), PndDrcHitFinder::PndDrcHitFinder(), PndEmc2DLocMaxFinder::PndEmc2DLocMaxFinder(), PndEmcExpClusterSplitter::PndEmcExpClusterSplitter(), PndEmcFullDigiTask::PndEmcFullDigiTask(), PndEmcFWEndcapDigi::PndEmcFWEndcapDigi(), PndEmcFWEndcapTimebasedWaveforms::PndEmcFWEndcapTimebasedWaveforms(), PndEmcHitProducer::PndEmcHitProducer(), PndEmcHitsToWaveform::PndEmcHitsToWaveform(), PndEmcMakeBump::PndEmcMakeBump(), PndEmcMakeCluster::PndEmcMakeCluster(), PndEmcMakeClusterOnline::PndEmcMakeClusterOnline(), PndEmcMakeDigi::PndEmcMakeDigi(), PndEmcMakeRecoHit::PndEmcMakeRecoHit(), PndEmcMultiWaveformToCalibratedDigi::PndEmcMultiWaveformToCalibratedDigi(), PndEmcPhiBumpSplitter::PndEmcPhiBumpSplitter(), PndEmcTmpWaveformToDigi::PndEmcTmpWaveformToDigi(), PndEmcWaveformToCalibratedDigi::PndEmcWaveformToCalibratedDigi(), PndEmcWaveformToDigi::PndEmcWaveformToDigi(), PndFtofHitProducerIdeal::PndFtofHitProducerIdeal(), PndFtsCATracking::PndFtsCATracking(), PndFtsHitProducerIdeal::PndFtsHitProducerIdeal(), PndFtsHitProducerRealFast::PndFtsHitProducerRealFast(), PndFtsHitProducerRealFull::PndFtsHitProducerRealFull(), PndFtsHoughTrackerTask::PndFtsHoughTrackerTask(), PndGemDigitize::PndGemDigitize(), PndGemFindHits::PndGemFindHits(), PndIdealTrackFinder::PndIdealTrackFinder(), PndLmdPixelClusterTask::PndLmdPixelClusterTask(), PndLmdPixelHitProducerFast::PndLmdPixelHitProducerFast(), PndMdtClusterTask::PndMdtClusterTask(), PndMdtDigitization::PndMdtDigitization(), PndMdtHitProducerIdeal(), PndMdtPointsToWaveform::PndMdtPointsToWaveform(), PndMdtTrkProducer::PndMdtTrkProducer(), PndMissingPzCleanerTask::PndMissingPzCleanerTask(), PndMvdGemTrackFinderOnHits::PndMvdGemTrackFinderOnHits(), PndMvdHitProducerIdeal::PndMvdHitProducerIdeal(), PndMvdPixelClusterTask::PndMvdPixelClusterTask(), PndMvdTimeWalkCorrTask::PndMvdTimeWalkCorrTask(), PndMvdToPix4ClusterTask::PndMvdToPix4ClusterTask(), PndRecoKalmanTask::PndRecoKalmanTask(), PndRecoKalmanTask2::PndRecoKalmanTask2(), PndRecoMultiKalmanTask::PndRecoMultiKalmanTask(), PndRecoMultiKalmanTask2::PndRecoMultiKalmanTask2(), PndRichHitFinder::PndRichHitFinder(), PndRichHitProducer::PndRichHitProducer(), PndSciTDigiTask::PndSciTDigiTask(), PndSciTHitProducerIdeal::PndSciTHitProducerIdeal(), PndSdsHitProducerIdeal::PndSdsHitProducerIdeal(), PndSdsHybridHitProducer::PndSdsHybridHitProducer(), PndSdsIdealClusterTask::PndSdsIdealClusterTask(), PndSdsIdealRecoTask::PndSdsIdealRecoTask(), PndSdsNoiseProducer::PndSdsNoiseProducer(), PndSdsPixelClusterTask::PndSdsPixelClusterTask(), PndSdsStripClusterTask::PndSdsStripClusterTask(), PndSdsStripHitProducer::PndSdsStripHitProducer(), PndSdsTimeWalkCorrTask::PndSdsTimeWalkCorrTask(), PndSttFindTracks::PndSttFindTracks(), PndSttHelixHitProducer::PndSttHelixHitProducer(), PndSttHitProducerIdeal::PndSttHitProducerIdeal(), PndSttHitProducerRealFast::PndSttHitProducerRealFast(), PndSttHitProducerRealFull::PndSttHitProducerRealFull(), PndSttMatchTracks::PndSttMatchTracks(), PndSttMvdGemTracking::PndSttMvdGemTracking(), PndTrackSmearTask::PndTrackSmearTask(), PndTrkTracking2::PndTrkTracking2(), reco(), reco_complete(), reco_complete_gf2(), reco_complete_newSTT(), reco_complete_sec(), recoideal_complete(), PndMvdClusterTask::SetPersistance(), PndMvdDigiTask::SetPersistance(), PndLmdPixelHitProducerFast::SetPersistance(), PndSdsHitProducerIdeal::SetPersistance(), PndSttMvdGemTracking::SetPersistenc(), PndMdtClusterTask::SetPersistence(), PndSttHelixHitProducer::SetPersistence(), PndMissingPzCleanerTask::SetPersistence(), PndFtsHitProducerRealFast::SetPersistence(), PndFtsHitProducerRealFull::SetPersistence(), PndSttHitProducerRealFull::SetPersistence(), PndSttHitProducerIdeal::SetPersistence(), PndSttHitProducerRealFast::SetPersistence(), PndFtsHitProducerIdeal::SetPersistence(), PndTrackSmearTask::SetPersistence(), PndSciTHitProducerIdeal::SetPersistence(), PndIdealTrackFinder::SetPersistence(), PndSttMatchTracks::SetPersistence(), PndSttFindTracks::SetPersistence(), PndFtsHoughTrackerTask::SetPersistence(), PndTrkTracking2::SetPersistence(), PndEmcMakeRecoHit::SetStorageOfData(), PndEmcFWEndcapDigi::SetStorageOfData(), PndEmcMakeClusterOnline::SetStorageOfData(), PndEmcFWEndcapTimebasedWaveforms::SetStorageOfData(), PndEmcMakeDigi::SetStorageOfData(), PndMdtPointsToWaveform::SetStorageOfData(), PndEmc2DLocMaxFinder::SetStorageOfData(), PndEmcMakeCluster::SetStorageOfData(), PndEmcHitsToWaveform::SetStorageOfData(), PndEmcMakeBump::SetStorageOfData(), PndEmcTmpWaveformToDigi::SetStorageOfData(), PndEmcWaveformToDigi::SetStorageOfData(), PndEmcWaveformToCalibratedDigi::SetStorageOfData(), PndEmcMultiWaveformToCalibratedDigi::SetStorageOfData(), PndEmcExpClusterSplitter::SetStorageOfData(), PndEmcPhiBumpSplitter::SetStorageOfData(), standard_tracking(), and PndEmcFullDigiTask::StoreDigi().

31 { fPersistency = val; }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndMdtHitProducerIdeal::SetPositionSmearing ( Float_t  res)
inline

Set the smearing of the PndMdtHit position.

Parameters
resResolution in [cm]

Definition at line 37 of file PndMdtHitProducerIdeal.h.

References fPosResolution, and res.

Referenced by digi_complete(), digi_complete_newSTT(), digi_complete_runs(), digi_rich(), digi_sttcombi(), DigiComplete(), digihit(), digiOnly_complete(), prod_dig(), reco(), run_digi(), run_digi_complete(), run_digi_sttcombi_timebased(), runDigiReco(), and tb_digi_complete().

37 { fPosResolution = res; };
Int_t res
Definition: anadigi.C:166
Float_t fPosResolution
Position smearing [cm].

Member Data Documentation

TClonesArray* PndMdtHitProducerIdeal::fHitArray
private

Output array of PndMdtHit

Definition at line 47 of file PndMdtHitProducerIdeal.h.

Referenced by AddHit(), Exec(), and Init().

TClonesArray* PndMdtHitProducerIdeal::fPointArray
private

Input array of PndMdtPoint

Definition at line 44 of file PndMdtHitProducerIdeal.h.

Referenced by Exec(), and Init().

Float_t PndMdtHitProducerIdeal::fPosResolution
private

Position smearing [cm].

Definition at line 37 of file PndMdtHitProducerIdeal.h.

Referenced by Exec(), Init(), and SetPositionSmearing().


The documentation for this class was generated from the following files: