9 #include "FairRootManager.h"
11 #include "FairRunAna.h"
12 #include "FairRuntimeDb.h"
13 #include "TClonesArray.h"
18 #include "FairEventHeader.h"
47 FairRootManager* ioman = FairRootManager::Instance();
49 cout <<
"-E- PndMdtDigitization::Init: "
50 <<
"RootManager not instantiated!" << endl;
57 cout <<
"-W- PndMdtDigitization::Init: "
58 <<
"No MdtWaveform array!" << endl;
82 cout <<
"-I- PndMdtDigitization: Intialization "<<(fGoodGeo ?
"successful." :
"failed.") << endl;
84 return fGoodGeo ? kSUCCESS : kERROR;
103 Int_t evtNo = FairRunAna::Instance()->GetEventHeader()->GetMCEntryNumber();
110 for (Int_t iW=0; iW<nWaveform; iW++) {
114 if(
Digitize(theWf, fTimeStamp, fAmplitude, kTRUE)){
118 aDigi->SetTimeStamp(theWf->GetTimeStamp() + fTimeStamp);
123 if(
Digitize(theWf, fTimeStamp, fAmplitude, kFALSE)){
127 aDigi->SetTimeStamp(theWf->GetTimeStamp() + fTimeStamp);
138 Int_t evtNo = FairRunAna::Instance()->GetEventHeader()->GetMCEntryNumber();
147 for (Int_t iW=0; iW<nWaveform; iW++) {
152 if(
Digitize(theWf, fTimeStamp, fAmplitude, kTRUE)){
156 aDigi->SetTimeStamp(theWf->GetTimeStamp() + fTimeStamp);
161 if(
Digitize(theWf, fTimeStamp, fAmplitude, kFALSE)){
165 aDigi->SetTimeStamp(theWf->GetTimeStamp() + fTimeStamp);
180 Int_t size = clref.GetEntriesFast();
181 return new(clref[size])
PndMdtDigi(detID, pos, evtNo);
192 Int_t size = clref.GetEntriesFast();
193 return new(clref[size])
PndMdtDigi(detID, pos, evtNo);
200 Int_t size = clref.GetEntriesFast();
201 return new(clref[size])
PndMdtDigi(detID, pos, evtNo);
216 const std::vector<Double_t>& fSignalData = theWf->
GetSignal();
217 for(
size_t is=0;
is < fSignalData.size(); ++
is){
219 if(
TMath::Abs(fSignalData[is]) > fThreshold && NotFound) {
234 std::cout<<
"PndMdtDigitization::FinishTask, fWaveformArray size #"<<nWaveform<<std::endl;
239 std::cout<<
"==================================================="<<std::endl;
240 std::cout<<
"PndMdtDigitization::FinishTask"<<std::endl;
241 std::cout<<
"***************************************************"<<std::endl;
246 std::cout<<
"***************************************************"<<std::endl;
PndMdtDigi * AddDigiStrip(Int_t detID, TVector3 &pos, Int_t)
Double_t fStripNoiseSigma
PndMdtDigi * AddDigi(Int_t detID, TVector3 &pos, Int_t evtNo)
void SetPersistency(Bool_t val=kTRUE)
PndMdtDigi * AddDigiBox(Int_t detID, TVector3 &pos, Int_t)
Double_t fSamplingInterval
void AddSensor(TString _v)
vector< FitStore > store(3000)
void SetVerbose(Int_t _v)
virtual InitStatus Init()
static PndMdtIGeometry * Instance()
Bool_t GetStripCenter(Int_t iDetId, TVector3 &pos) const
virtual void Exec(Option_t *opt)
Bool_t Digitize(PndMdtWaveform *theWf, Double_t &time, Double_t &, Bool_t isWire)
PndMdtDigitization(Int_t verbose=0, Bool_t store=kTRUE)
drchit SetVerbose(iVerbose)
TClonesArray * fDigiStripArray
TClonesArray * fDigiBoxArray
TClonesArray * fDigiArray
Bool_t GetTubeCenter(Int_t iDetId, TVector3 &pos) const
TClonesArray * fWaveformArray