X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITS.h;h=3524e46c8fcf2e764177ac34a37f56048d8e5d00;hb=3d77d808aa87c243d279f20f783f65f87a60418e;hp=44e3bc9a8eeed011844c4e93fd17adb7eaa1206f;hpb=e939a978a98d29901b86bdb02cdcaf5157e717de;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITS.h b/ITS/AliITS.h index 44e3bc9a8ee..3524e46c8fc 100644 --- a/ITS/AliITS.h +++ b/ITS/AliITS.h @@ -27,19 +27,21 @@ class AliITShit; class AliITSgeom; class AliITSdigit; class AliITSmodule; -class AliDigitizer; -class AliRunDigitizer; - +class AliDigitizationInput; +class TArrayI; class AliITS : public AliDetector { public: + enum {kSPD,kSDD,kSSD}; + enum {kMaxLabel=3141593}; // default track label assigned to digits/clusters + //================= Standard Classes =============================== AliITS(); // Default creator. - AliITS(const char *name, const char *title); // standard Creator + AliITS(const Char_t *title); // standard Creator + AliITS(const char *name, const char *title); // extended standard Creator virtual ~AliITS(); // destructor virtual Int_t IsVersion() const {return 1;} - virtual Int_t DistancetoPrimitive(Int_t , Int_t ) {return 999;} //===================== Simulation Geometry ======================== // get geometry version - detailed (major) or coarse (minor) @@ -54,12 +56,16 @@ class AliITS : public AliDetector { // ITS geometry functions From Simulation AliITSgeom* GetITSgeom() const {return fDetTypeSim->GetITSgeom();} void SetITSgeom(AliITSgeom *geom) {fDetTypeSim->SetITSgeom(geom);} - virtual void WriteGeometry(); // return pointer to the array of modules TObjArray *GetModules(){return fITSmodules;} AliITSmodule *GetModule(Int_t index){ return (AliITSmodule*)(fITSmodules->At(index));} + virtual void SetSimuParam(AliITSSimuParam *sp){ + fSimuParam=sp; + fDetTypeSim->SetSimuParam(sp); + } + AliITSSimuParam* GetSimuParam() const {return fSimuParam;} virtual void SetDetTypeSim(AliITSDetTypeSim* dts) {fDetTypeSim=dts;} AliITSDetTypeSim* GetDetTypeSim() const {return fDetTypeSim;} @@ -95,19 +101,16 @@ class AliITS : public AliDetector { //=================== Hits ========================================= virtual void StepManager() {} // See Step Manager for specific geometry. //------------ sort hits by module for Digitisation ---------------- - virtual void FillModules(Int_t evnt,Int_t bgrev,Int_t nmodules, + virtual void FillModules(Int_t /* evnt */,Int_t bgrev,Int_t /* nmodules */, Option_t *opt, const char *filename); - virtual void InitModules(Int_t size,Int_t &nmodules); + virtual Bool_t InitModules(Int_t size,Int_t &nmodules); virtual void FillModules(TTree *treeH, Int_t mask = 0); virtual void ClearModules(){if(fITSmodules) fITSmodules->Delete();} virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); // Trigger - virtual AliTriggerDetector* CreateTriggerDetector() const - { return new AliITSTrigger(); } - - TClonesArray* GetSDigits() const { return fDetTypeSim->GetSDigits();} + virtual AliTriggerDetector* CreateTriggerDetector() const; - AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const; + AliDigitizer* CreateDigitizer(AliDigitizationInput* digInput) const; virtual void UpdateInternalGeometry(); virtual void SDigitsToDigits(Option_t *opt="All"); virtual void SDigits2Digits(){SDigitsToDigits("All");} @@ -127,10 +130,10 @@ class AliITS : public AliDetector { virtual void ResetDigits(); virtual void ResetDigits(Int_t branch); virtual void AddSumDigit(AliITSpListItem &sdig); - virtual void AddRealDigit(Int_t branch, Int_t *digits); virtual void AddSimDigit(Int_t branch, AliITSdigit *d); virtual void AddSimDigit(Int_t branch,Float_t phys,Int_t* digits, - Int_t* tracks,Int_t *hits,Float_t* trkcharges); + Int_t* tracks,Int_t *hits,Float_t* trkcharges, + Int_t sigexpanded=-1000); TObjArray* GetDigits() const {return fDetTypeSim->GetDigits();} Int_t* GetNDigitArray() const {return fDetTypeSim->GetNDigitArray();} TClonesArray *DigitsAddress(Int_t id) { @@ -144,8 +147,13 @@ class AliITS : public AliDetector { //===================== Raw Data IO ================================ // Write digits into raw data format virtual void Digits2Raw(); - virtual Bool_t Raw2SDigits(AliRawReader*); + virtual Bool_t Raw2SDigits(AliRawReader* rawReader); + //===================== FO signals ================================ + // Write FO signals in UserInfo of SDigits/Digits tree + void WriteFOSignals(); + void SetRawID2ClusID(const TArrayI* arr, Int_t iDet) { if (iDet>-1&&iDet-1&&iDetCluster assingment in Raw2SDigit (for embedding) private: AliITS(const AliITS &source); // copy constructor. Not to be used! AliITS& operator=(const AliITS &source); // = operator. Not to be used! - ClassDef(AliITS,6) // Base class for ITS + ClassDef(AliITS,9) // Base class for ITS };