10 #include "TClonesArray.h" 
   14 #include "FairRootManager.h" 
   21 #include "FairRuntimeDb.h" 
   33         fApvConvert(Apvconvert),
 
   34     fApvMapper(Apvmapper),
 
   38     fDigiParameterList(new TList()),
 
   50 cout << 
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" << endl;
 
   51 cout << 
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" << endl;
 
   52 cout << 
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" << endl;
 
   53 cout << 
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" << endl;
 
   54 cout << 
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" << endl;
 
   56         FairRun* ana = FairRun::Instance();
 
   57   FairRuntimeDb* 
rtdb=ana->GetRuntimeDb();
 
   60   Info(
"SetParContainers()",
"The container names list contains %i entries",theContNames->GetEntries());
 
   61   TIter cfIter(theContNames);
 
   62   while (TObjString* contname = (TObjString*)cfIter()) {
 
   63     TString parsetname = contname->String();
 
   64     if(parsetname.BeginsWith(
"MVDStripDigiPar")){
 
   66       Info(
"SetParcontiners()",
"check some values. fDigiParameterList: %p  digipar: %p",
fDigiParameterList,digipar);
 
   70       Info(
"SetParContainers()",
"Loaded container %s",parsetname.Data());
 
   83   FairRootManager* ioman = FairRootManager::Instance();
 
   86     std::cout << 
"-E- PndMvdStripHitProducer::Init: " 
   87     << 
"RootManager not instantiated!" << std::endl;
 
   96   cout<<
"Init of Task finished"<<endl;
 
   99   std::vector<std::string> listOfSensitives;
 
  100   listOfSensitives.push_back(
"StripActive");
 
  108         cout << 
"Debugging, sens type: " << (
TString)digipar->GetSensType() << 
", num of bot FE: " << digipar->GetNrBotFE() << endl;
 
  109       if(digipar->GetNrBotFE()==1)
 
  130         std::map<Int_t,Double_t> singleSidedBacksideMap;
 
  131   std::map<Int_t,std::vector<Int_t> > buffIndex;
 
  135   Int_t sw=-1, botfe=-1;
 
  144         for (std::vector<PndSdsDigiStrip>::iterator strip=strips.begin(); strip!=strips.end(); ++strip)
 
  149           nbox = strip -> GetSensorID();
 
  151           buffCh = strip -> GetChannel();
 
  155           buffClock = strip->GetTimeStamp();
 
  156           buffSpill = strip->GetTimeStampError();
 
  158           if(
fVerbose>1) Info(
"Exec",
"Write a Digi from detector %s %i",detpath.Data(),detnameid);
 
  162           sw = (Int_t) buffCh/128.;
 
  163           ch = (Int_t) buffCh%128;
 
  176           PndSdsDigiStrip *buffStr = 
new PndSdsDigiStrip(strip->GetIndices(), strip->GetDetID(),detnameid, sw, ch, strip->GetCharge(),strip->GetTimeStamp());
 
  177           buffStr->SetTimeStampError(strip->GetTimeStampError());
 
  185               singleSidedBacksideMap[detnameid]+= strip->
GetCharge();
 
  186               (buffIndex[detnameid]).
push_back(strip->GetIndex());
 
  191         for (std::map<Int_t,Double_t>::iterator it=singleSidedBacksideMap.begin();it!=singleSidedBacksideMap.end();++it)
 
  197             buffStr2->SetTimeStampError(buffSpill);
 
  210   if( !(detpath.Contains(
"Strip")) )   
return kFALSE;
 
  214       if( detpath.Contains(it->first) )
 
  230     if( detpath.Contains(it->first) )
 
TClonesArray * fStripArray
array of results 
virtual void Exec(Option_t *opt)
virtual InitStatus Init()
PndMvdConvertApvTask(PndMvdConvertApv *Apvconvert, PndMvdBoxMap *Apvmapper)
labels push_back("electron")
Class for digitised strip hits. 
void CreateUniqueSensorId(TString startName, std::vector< std::string > listOfSensitives)
Has to be called during simulation to create unique sensor id. 
Double_t GetCharge() const 
TString GetPath(Int_t shortID)
for a given shortID the path is returned 
Convert meassured data into PndSdsDigiStrip. 
Bool_t IsSingleSided(TString &detpath)
void DoMapping(Int_t nbox, Int_t chan, TString &detpath)
TList * GetDigiParNames()
Class to access the naming information of the MVD. 
std::vector< PndSdsDigiStrip > ReadNext()
PndMvdBoxMap * fApvMapper
virtual void SetParContainers()
Digitization Parameter Class for MVD-Strip part. 
Int_t GetShortID(TString path)
for a given path the (unique) position of the sensor path in the fSensorNamePar-List is given...
TList * fDigiParameterList
PndGeoHandling * fGeoH
Geohandler for name string compression. 
PndMvdConvertApv * fApvConvert
class which convert the read in and hold the streams 
std::map< TString, Int_t > fBotSides
Int_t CalcBotFakeFE(TString detpath)
ClassImp(PndMvdConvertApvTask)