fIdSens(0),
fIdName(0),
fITSmodules(0),
-fTiming(kFALSE)
+fTiming(kFALSE),
+fSimuParam(0)
{
// Default initializer for ITS
// The default constructor of the AliITS class. In addition to
//PH SetMarkerColor(kRed);
}
//______________________________________________________________________
-AliITS::AliITS(const Char_t *title):AliDetector("ITS",title),
-fDetTypeSim(0),
-fEuclidOut(0),
-fOpt("All"),
-fIdN(0),
-fIdSens(0),
-fIdName(0),
-fITSmodules(0),
-fTiming(kFALSE)
+AliITS::AliITS(const Char_t *title):
+ AliDetector("ITS",title),
+ fDetTypeSim(0),
+ fEuclidOut(0),
+ fOpt("All"),
+ fIdN(0),
+ fIdSens(0),
+ fIdName(0),
+ fITSmodules(0),
+ fTiming(kFALSE),
+ fSimuParam(0)
{
// The standard Constructor for the ITS class.
// It also zeros the variables
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
}
//______________________________________________________________________
-AliITS::AliITS(const char *name, const char *title):AliDetector(name,title),
-fDetTypeSim(0),
-fEuclidOut(0),
-fOpt("All"),
-fIdN(0),
-fIdSens(0),
-fIdName(0),
-fITSmodules(0),
-fTiming(kFALSE)
+AliITS::AliITS(const char *name, const char *title):
+ AliDetector(name,title),
+ fDetTypeSim(0),
+ fEuclidOut(0),
+ fOpt("All"),
+ fIdN(0),
+ fIdSens(0),
+ fIdName(0),
+ fITSmodules(0),
+ fTiming(kFALSE),
+ fSimuParam(0)
{
// The standard Constructor for the ITS class.
// It also zeros the variables
SetDetectors(); // default to fOpt="All". This variable not written out.
fDetTypeSim = new AliITSDetTypeSim();
-
//PH SetMarkerColor(kRed);
if(!fLoader) MakeLoader(AliConfig::GetDefaultEventFolderName());
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
if (fDetTypeSim){
delete fDetTypeSim;
fDetTypeSim = 0;
- }
+ }
+ if(fSimuParam){
+ delete fSimuParam;
+ fSimuParam=0;
+ }
}
//______________________________________________________________________
AliDigitizer* AliITS::CreateDigitizer(AliRunDigitizer* manager)const{
}
fDetTypeSim->SetDefaults();
-
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
}
//______________________________________________________________________
}
fDetTypeSim->SetDefaultSimulation();
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
}
return;
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
MakeBranchInTreeD(fLoader->TreeD(),file);
}
Error("MakeBranchS","fDetTypeSim is 0!");
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
const Char_t *det[3] = {"SPD","SDD","SSD"};
const Char_t* digclass;
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
TTree *treeS = fLoader->TreeS();
TTree *treeD = fLoader->TreeD();
Error("InitModules","fDetTypeSim is null!");
return kFALSE;
}
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
Int_t nl,indexMAX,index;
fLoader->LoadSDigits("recreate");
AliRunLoader* rl = fLoader->GetRunLoader();
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
+
for (Int_t iEvent = 0; iEvent < rl->GetNumberOfEvents(); iEvent++) {
// Do the Hits to Digits operation. Use Standard input values.
// Event number from file, no background hit merging , use size from
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
SetDefaults();
fLoader->LoadHits("read");
return;
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
if(!GetITSgeom()) return; // need transformations to do digitization.
AliITSgeom *geom = GetITSgeom();
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
SetDefaults();
HitsToPreDigits(fLoader->GetRunLoader()->GetEventNumber(),
return;
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
if(!GetITSgeom()){
Error("HitsToPreDigits","fGeom is null!");
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
SetDefaults();
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
fDetTypeSim->SDigitsToDigits(opt,(Char_t*)GetName());
// Add random noise to FO signals
}
fDetTypeSim->SetLoader((AliITSLoader*)fLoader);
SetDefaults();
+ if(fSimuParam) fDetTypeSim->SetSimuParam(fSimuParam);
fDetTypeSim->GetLoader()->LoadDigits();
TTree* digits = fDetTypeSim->GetLoader()->TreeD();
if (!digits) {
//
AliITSsegmentationSDD* segSDD = (AliITSsegmentationSDD*) fDetTypeSim->GetSegmentationModel(1);
npx = segSDD->Npx();
- AliITSRawStreamSDD inputSDD(rawReader);
+ AliITSRawStream* inputSDD=AliITSRawStreamSDD::CreateRawStreamSDD(rawReader);
AliITSDDLModuleMapSDD* ddlmap=fDetTypeSim->GetDDLModuleMapSDD();
- inputSDD.SetDDLModuleMap(ddlmap);
+ inputSDD->SetDDLModuleMap(ddlmap);
while(1){
- Bool_t next = inputSDD.Next();
+ Bool_t next = inputSDD->Next();
if (!next) break;
- Int_t module = inputSDD.GetModuleID();
- Int_t anode = inputSDD.GetAnode();
- Int_t time = inputSDD.GetTime();
- Int_t signal10 = inputSDD.GetSignal();
- Int_t index = npx * anode + time;
+ if(inputSDD->IsCompletedModule()==kFALSE &&
+ inputSDD->IsCompletedDDL()==kFALSE){
- if (module >= size) continue;
- last = modA[module]->GetEntries();
- TClonesArray& dum = *modA[module];
- new (dum[last]) AliITSpListItem(-1, -1, module, index, Double_t(signal10));
- ((AliITSpListItem*) dum.At(last))->AddSignalAfterElect(module, index, Double_t(signal10));
-
+ Int_t module = inputSDD->GetModuleID();
+ Int_t anode = inputSDD->GetCoord1();
+ Int_t time = inputSDD->GetCoord2();
+ Int_t signal10 = inputSDD->GetSignal();
+ Int_t index = npx * anode + time;
+
+ if (module >= size) continue;
+ last = modA[module]->GetEntries();
+ TClonesArray& dum = *modA[module];
+ new (dum[last]) AliITSpListItem(-1, -1, module, index, Double_t(signal10));
+ ((AliITSpListItem*) dum.At(last))->AddSignalAfterElect(module, index, Double_t(signal10));
+ }
}
+ delete inputSDD;
rawReader->Reset();
-
+
//
// SSD
//