FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PndLmdPixelHitProducerFast Class Reference

#include <PndLmdPixelHitProducerFast.h>

Inheritance diagram for PndLmdPixelHitProducerFast:
PndSdsTask PndPersistencyTask

Public Member Functions

 PndLmdPixelHitProducerFast ()
 
 PndLmdPixelHitProducerFast (Double_t pixelx, Double_t pixely)
 
 PndLmdPixelHitProducerFast (const char *name)
 
virtual ~PndLmdPixelHitProducerFast ()
 
virtual void SetParContainers ()
 
virtual InitStatus Init ()
 
virtual void SetBranchNames ()
 
virtual void SetBranchNames (TString inBranchname, TString outBranchname, TString folderName)
 
virtual void Exec (Option_t *opt)
 
void SetPersistance (Bool_t p=kTRUE)
 
Bool_t GetPersistance ()
 
virtual void SetInBranchId ()
 
void SetPersistency (Bool_t val=kTRUE)
 
Bool_t GetPersistency ()
 

Protected Member Functions

void Register ()
 
void Reset ()
 
void ProduceHits ()
 
 ClassDef (PndLmdPixelHitProducerFast, 1)
 
 ClassDef (PndSdsTask, 1)
 

Protected Attributes

Double_t fPixelSizeX
 
Double_t fPixelSizeY
 
TClonesArray * fPointArray
 
TClonesArray * fHitArray
 
TString fInBranchName
 
TString fOutBranchName
 
TString fFolderName
 
Int_t fInBranchId
 
Int_t fOutBranchId
 

Detailed Description

Definition at line 30 of file PndLmdPixelHitProducerFast.h.

Constructor & Destructor Documentation

PndLmdPixelHitProducerFast::PndLmdPixelHitProducerFast ( )

Default constructor

Definition at line 18 of file PndLmdPixelHitProducerFast.cxx.

References fPixelSizeX, fPixelSizeY, and PndPersistencyTask::SetPersistency().

18  :
19 PndSdsTask("Fast LMD Hit Producer")
20 {
21  fPixelSizeX=0.005; //to round MC-Hit x-position
22  fPixelSizeY=0.005; //to round MC-Hit y-position
23  SetPersistency(kTRUE);
24 }
void SetPersistency(Bool_t val=kTRUE)
PndLmdPixelHitProducerFast::PndLmdPixelHitProducerFast ( Double_t  pixelx,
Double_t  pixely 
)

Definition at line 26 of file PndLmdPixelHitProducerFast.cxx.

References PndPersistencyTask::SetPersistency().

26  :
27 PndSdsTask("Fast LMD Hit Producer"), fPixelSizeX(pixelx), fPixelSizeY(pixely)
28 {
29  SetPersistency(kTRUE);
30 }
void SetPersistency(Bool_t val=kTRUE)
PndLmdPixelHitProducerFast::PndLmdPixelHitProducerFast ( const char *  name)

Named constructor

Definition at line 34 of file PndLmdPixelHitProducerFast.cxx.

References fPixelSizeX, fPixelSizeY, and PndPersistencyTask::SetPersistency().

34  :
36 {
37  fPixelSizeX=0.005; //to round MC-Hit x-position
38  fPixelSizeY=0.005; //to round MC-Hit y-position
39  SetPersistency(kTRUE);
40 }
void SetPersistency(Bool_t val=kTRUE)
TString name
PndLmdPixelHitProducerFast::~PndLmdPixelHitProducerFast ( )
virtual

Destructor

Definition at line 46 of file PndLmdPixelHitProducerFast.cxx.

47 {
48 }

Member Function Documentation

PndSdsTask::ClassDef ( PndSdsTask  ,
 
)
protectedinherited
PndLmdPixelHitProducerFast::ClassDef ( PndLmdPixelHitProducerFast  ,
 
)
protected
void PndLmdPixelHitProducerFast::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 110 of file PndLmdPixelHitProducerFast.cxx.

References fHitArray, PndSdsTask::fInBranchId, fPixelSizeX, fPixelSizeY, fPointArray, PndSdsMCPoint::GetSensorID(), CAMath::Nint(), point, pos, and PndSdsHit::SetClusterIndex().

111 {
112  // Reset output array
113  if ( ! fHitArray )
114  Fatal("Exec", "No HitArray");
115 
116  fHitArray->Delete();
117 
118  // Declare some variables
119  PndSdsMCPoint *point = 0;
120 
121  Int_t
122  detID = 0; // Detector ID
123  //trackID = 0; // Track index //[R.K.03/2017] unused variable
124 
125  TVector3
126  pos, dpos; // Position and error vectors
127 
128  // Loop over PndSdsMCPoints
129  Int_t
130  nPoints = fPointArray->GetEntriesFast();
131 
132  for (Int_t iPoint = 0; iPoint < nPoints; iPoint++)
133  {
134  point = (PndSdsMCPoint*) fPointArray->At(iPoint);
135  //std::cout << " Fast Hit Producer -Point-: " << point << std::endl;
136  if ( ! point)
137  continue;
138 
139  // Detector ID
140  detID = point->GetDetectorID();
141 
142  // MCTrack ID
143  //trackID = point->GetTrackID(); //[R.K.03/2017] unused variable
144 
145  TVector3
146  position(fPixelSizeX*TMath::Nint(point->GetX()/fPixelSizeX), fPixelSizeY*TMath::Nint(point->GetY()/fPixelSizeY), point->GetZ());
147  dpos.SetXYZ(0.005,0.005,0.005);
148 
149 
150  // Create new hit
151  PndSdsHit* myHit = new ((*fHitArray)[iPoint]) PndSdsHit(detID, point->GetSensorID(), position, dpos, -1, point->GetEnergyLoss(),1, iPoint);
152  myHit->SetClusterIndex(fInBranchId, iPoint);
153  // std::cout << "Hit created for module: " << point->GetDetName() << std::endl;
154 
155 
156 
157  } // Loop over MCPoints
158 
159  // Event summary
160  //std::cout << "-I- PndLmdPixelHitProducerFast: " << nPoints << " PndSdsMCPoints, "
161  // << nPoints << " Hits created." << std::endl;
162 
163 }
TVector3 pos
Int_t fInBranchId
Definition: PndSdsTask.h:43
void SetClusterIndex(Int_t datasource, Int_t id, Int_t fileId=-1, Int_t evtId=-1)
Definition: PndSdsHit.h:82
Int_t GetSensorID() const
Definition: PndSdsMCPoint.h:89
int Nint(float x)
Definition: PndCAMath.h:117
PndSdsMCPoint * point
Definition: anaLmdCluster.C:72
Bool_t PndLmdPixelHitProducerFast::GetPersistance ( )
inline

Definition at line 61 of file PndLmdPixelHitProducerFast.h.

References PndPersistencyTask::GetPersistency().

61 {return GetPersistency();};
Bool_t PndPersistencyTask::GetPersistency ( )
inlineinherited

Definition at line 32 of file PndPersistencyTask.h.

References PndPersistencyTask::fPersistency.

Referenced by GetPersistance(), PndMdtDigitization::Init(), PndMdtHitProducerIdeal::Init(), PndMdtClusterTask::Init(), PndFtsHitProducerRealFast::Init(), PndDiscTaskReconstruction::Init(), PndRichHitProducer::Init(), PndSttHitProducerRealFast::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(), 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 PndLmdPixelHitProducerFast::Init ( )
virtual

Definition at line 51 of file PndLmdPixelHitProducerFast.cxx.

References PndSdsTask::fFolderName, fHitArray, PndSdsTask::fInBranchName, PndSdsTask::fOutBranchName, fPointArray, PndPersistencyTask::GetPersistency(), and SetBranchNames().

52 {
53  // Get RootManager
54  FairRootManager* ioman = FairRootManager::Instance();
55 
57 
58  if ( ! ioman )
59  {
60  std::cout << "-E- PndLmdPixelHitProducerFast::Init: "
61  << "RootManager not instantiated!" << std::endl;
62  return kFATAL;
63  }
64 
65  // Get input array
66  fPointArray = (TClonesArray*) ioman->GetObject(fInBranchName);
67 
68  if ( ! fPointArray )
69  {
70  std::cout << "-W- PndLmdPixelHitProducerFast::Init: "
71  << "No SDSPoint array!" << std::endl;
72  return kERROR;
73  }
74 
75 
76  // Create and register output array
77  fHitArray = new TClonesArray("PndSdsHit");
78  ioman->Register(fOutBranchName, fFolderName, fHitArray, GetPersistency());
79 
80  std::cout << "-I- PndLmdPixelHitProducerFast: Intialisation successfull" << std::endl;
81  return kSUCCESS;
82 }
TString fOutBranchName
Definition: PndSdsTask.h:40
TString fInBranchName
Definition: PndSdsTask.h:39
TString fFolderName
Definition: PndSdsTask.h:41
void PndLmdPixelHitProducerFast::ProduceHits ( )
protected
void PndLmdPixelHitProducerFast::Register ( )
protected
void PndLmdPixelHitProducerFast::Reset ( )
protected
void PndLmdPixelHitProducerFast::SetBranchNames ( )
virtual

pure virtual method SetBranchNames

called by Init() function to set individual branch names

Implements PndSdsTask.

Definition at line 101 of file PndLmdPixelHitProducerFast.cxx.

References PndSdsTask::fFolderName, PndSdsTask::fInBranchName, and PndSdsTask::fOutBranchName.

Referenced by Init().

102 {
103  fInBranchName = "LMDPoint";
104  fOutBranchName = "LMDHit";
105  fFolderName = "PndLmd";
106 }
TString fOutBranchName
Definition: PndSdsTask.h:40
TString fInBranchName
Definition: PndSdsTask.h:39
TString fFolderName
Definition: PndSdsTask.h:41
void PndLmdPixelHitProducerFast::SetBranchNames ( TString  inBranchname,
TString  outBranchname,
TString  folderName 
)
virtual

Definition at line 93 of file PndLmdPixelHitProducerFast.cxx.

References PndSdsTask::fFolderName, PndSdsTask::fInBranchName, and PndSdsTask::fOutBranchName.

94 {
95  fInBranchName = inBranchname;
96  fOutBranchName = outBranchname;
97  fFolderName = folderName;
98 }
TString fOutBranchName
Definition: PndSdsTask.h:40
TString fInBranchName
Definition: PndSdsTask.h:39
TString fFolderName
Definition: PndSdsTask.h:41
virtual void PndSdsTask::SetInBranchId ( )
inlinevirtualinherited

Reimplemented in PndSdsStripClusterTask, PndSdsPixelClusterTask, and PndSdsIdealClusterTask.

Definition at line 30 of file PndSdsTask.h.

References PndSdsTask::fInBranchId, PndSdsTask::fInBranchName, PndSdsTask::fOutBranchId, and PndSdsTask::fOutBranchName.

Referenced by PndSdsTimeWalkCorrTask::Init(), PndSdsRecoTask::Init(), PndSdsIdealRecoTask::Init(), PndLmdStripHitProducer::SetBranchNames(), PndMvdHitProducerIdeal::SetBranchNames(), PndLmdHybridHitProducer::SetBranchNames(), PndMvdHybridHitProducer::SetBranchNames(), and PndMvdStripHitProducer::SetBranchNames().

30  {
31  FairRootManager *ioman = FairRootManager::Instance();
32  fInBranchId = ioman->GetBranchId(fInBranchName);
33  fOutBranchId = ioman->GetBranchId(fOutBranchName);
34  std::cout << "InBranchId: " << fInBranchId << " for Branch: " << fInBranchName.Data() << std::endl;
35  std::cout << "OutBranchId: " << fOutBranchId << " for Branch: " << fOutBranchName.Data() << std::endl;
36  }
Int_t fInBranchId
Definition: PndSdsTask.h:43
TString fOutBranchName
Definition: PndSdsTask.h:40
Int_t fOutBranchId
Definition: PndSdsTask.h:44
TString fInBranchName
Definition: PndSdsTask.h:39
void PndLmdPixelHitProducerFast::SetParContainers ( )
virtual

Virtual method Init

Definition at line 84 of file PndLmdPixelHitProducerFast.cxx.

85 {
86  // Get Base Container
87  //FairRun* ana = FairRun::Instance();
88  //FairRuntimeDb* rtdb=ana->GetRuntimeDb();
89  // fGeoPar = (PndSdsGeoPar*)(rtdb->getContainer("PndSdsGeoPar"));
90 
91 }
void PndLmdPixelHitProducerFast::SetPersistance ( Bool_t  p = kTRUE)
inline

Definition at line 60 of file PndLmdPixelHitProducerFast.h.

References p, and PndPersistencyTask::SetPersistency().

60 {SetPersistency(p);};
Double_t p
Definition: anasim.C:58
void SetPersistency(Bool_t val=kTRUE)
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(), PndMdtClusterTask::PndMdtClusterTask(), PndMdtDigitization::PndMdtDigitization(), PndMdtHitProducerIdeal::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(), SetPersistance(), PndSdsHitProducerIdeal::SetPersistance(), PndSttMvdGemTracking::SetPersistenc(), PndMdtClusterTask::SetPersistence(), PndSttHelixHitProducer::SetPersistence(), PndMissingPzCleanerTask::SetPersistence(), PndFtsHitProducerRealFast::SetPersistence(), PndFtsHitProducerRealFull::SetPersistence(), PndSttHitProducerIdeal::SetPersistence(), PndSttHitProducerRealFull::SetPersistence(), PndSttHitProducerRealFast::SetPersistence(), PndFtsHitProducerIdeal::SetPersistence(), PndTrackSmearTask::SetPersistence(), PndSciTHitProducerIdeal::SetPersistence(), PndIdealTrackFinder::SetPersistence(), PndSttMatchTracks::SetPersistence(), PndSttFindTracks::SetPersistence(), PndFtsHoughTrackerTask::SetPersistence(), PndTrkTracking2::SetPersistence(), PndEmcMakeRecoHit::SetStorageOfData(), PndEmcMakeClusterOnline::SetStorageOfData(), PndEmcFWEndcapDigi::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

Member Data Documentation

TString PndSdsTask::fFolderName
protectedinherited
TClonesArray* PndLmdPixelHitProducerFast::fHitArray
protected

Output array of PndSdsHits

Definition at line 73 of file PndLmdPixelHitProducerFast.h.

Referenced by Exec(), and Init().

Int_t PndSdsTask::fInBranchId
protectedinherited
TString PndSdsTask::fInBranchName
protectedinherited
Int_t PndSdsTask::fOutBranchId
protectedinherited

Definition at line 44 of file PndSdsTask.h.

Referenced by PndSdsTask::SetInBranchId().

TString PndSdsTask::fOutBranchName
protectedinherited
Double_t PndLmdPixelHitProducerFast::fPixelSizeX
protected

Definition at line 61 of file PndLmdPixelHitProducerFast.h.

Referenced by Exec(), and PndLmdPixelHitProducerFast().

Double_t PndLmdPixelHitProducerFast::fPixelSizeY
protected

Definition at line 66 of file PndLmdPixelHitProducerFast.h.

Referenced by Exec(), and PndLmdPixelHitProducerFast().

TClonesArray* PndLmdPixelHitProducerFast::fPointArray
protected

Input array of PndSdsMCPoints

Definition at line 70 of file PndLmdPixelHitProducerFast.h.

Referenced by Exec(), and Init().


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