X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ZDC%2FAliZDC.h;h=ff6baa3d1930e88784046351d865a3e568415f27;hb=f8416b1462bf1ab61f1b127943de5b110115d40e;hp=18320f938830d7245ab2834899b0a02a5bb998ca;hpb=359cdddc6ec67275842049b7c9e315bf45c0dc1d;p=u%2Fmrichter%2FAliRoot.git diff --git a/ZDC/AliZDC.h b/ZDC/AliZDC.h index 18320f93883..ff6baa3d193 100644 --- a/ZDC/AliZDC.h +++ b/ZDC/AliZDC.h @@ -9,9 +9,15 @@ // Manager and classes for set ZDC // //////////////////////////////////////////////// -class AliZDCMerger; - +#include + #include "AliDetector.h" +#include "AliZDCTrigger.h" +#include "AliZDCChMap.h" + +class AliZDCPedestals; +class AliZDCEnCalib; +class AliZDCTowCalib; class AliZDC : public AliDetector { @@ -19,45 +25,85 @@ public: AliZDC(); AliZDC(const char *name, const char *title); virtual ~AliZDC(); + AliZDC(const AliZDC&); + // virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); - virtual void AddDigit(Int_t *sector, Int_t digit); - virtual void BuildGeometry(); virtual void CreateGeometry() {} virtual void CreateMaterials() {} - Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual Int_t IsVersion() const =0; virtual Float_t ZMin() const; // Minimum overall dimension of the ZDC virtual Float_t ZMax() const; // Maximum overall dimension of the ZDC - virtual void MakeBranch(Option_t* opt, const char *file=0); + virtual void SetTreeAddress(); + virtual void MakeBranch(Option_t* opt); virtual void Hits2SDigits(); - virtual void SDigits2Digits(); - virtual void Hits2Digits(); - virtual void Digits2Reco(); - virtual void SetMerger(AliZDCMerger* merger); - virtual AliZDCMerger* Merger(); + virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const; + virtual void Digits2Raw(); + virtual Bool_t Raw2SDigits(AliRawReader* rawReader); + Int_t Pedestal(Int_t Detector, Int_t Quadrant, Int_t Res) const; + Int_t ADCch2Phe(Int_t Detector, Int_t Quadrant, Int_t ADCVal, Int_t Res) const; virtual void StepManager() {} - + // Switching off the shower development in ZDCs void NoShower(){fNoShower=1;} void Shower() {fNoShower=0;} + + virtual void SetVCollSideCAperture(Float_t /*aperture*/) {} + virtual void SetVCollSideCCentre(Float_t /*centre*/) {} + + virtual void SetVCollSideAAperture(Float_t /*aperture*/) {} + virtual void SetVCollSideACentre(Float_t /*centre*/) {} + + virtual void SetLumiLength(Float_t /*length*/) {} + + virtual void SetYZNC(Float_t /*yZNC*/) {} + virtual void SetYZNA(Float_t /*yZNA*/) {} + virtual void SetYZPC(Float_t /*yZPC*/) {} + virtual void SetYZPA(Float_t /*yZPA*/) {} -protected: + //Calibration methods + void SetZDCCalibFName(const char *name); + char* GetZDCCalibFName() const {return (char*)fZDCCalibFName.Data();} + AliZDCPedestals* GetPedCalib() const {return fPedCalib;} + AliZDCEnCalib* GetECalibData() const {return fEnCalibData;} + + // Map from OCDB + AliZDCChMap* GetChMap() const; + + // Trigger + virtual AliTriggerDetector* CreateTriggerDetector() const + {return new AliZDCTrigger();} - Int_t fNoShower; // Flag to switch off the shower - AliZDCMerger *fMerger; // ! pointer to merger - Int_t fNRecPoints; // Number of RecPoints - TClonesArray *fRecPoints; // List of RecPoints + void SetSpectatorsTrack() {fSpectatorTracked=0;} + Int_t SpectatorsTracked() const {return fSpectatorTracked;} + +private: + + AliZDC& operator = (const AliZDC&); + +protected: -// // --- TClonesArray of stored hits -> not reset et finish event -// // (for digitization at the end of the event) -// -// TClonesArray *fStHits; -// Int_t fNStHits; -// Int_t fNPrimaryHits; // Number of primary particles + Int_t fNoShower; // Flag to switch off the shower + //Calibration data member + AliZDCPedestals* fPedCalib; //! Pedestal data for ZDC + AliZDCEnCalib* fEnCalibData; //! Energy data for ZDC + AliZDCTowCalib* fTowCalibData; //! Equalization data for ZDC - ClassDef(AliZDC,1) // Zero Degree Calorimeter base class + TString fZDCCalibFName; // Name of the ZDC calibration data + + Int_t fSpectatorTracked; // Are spectator tracked by generator? + + ClassDef(AliZDC,10) // Zero Degree Calorimeter base class }; +// Calibration +//_____________________________________________________________________________ +inline void AliZDC::SetZDCCalibFName(const char *name) +{ + fZDCCalibFName = name; + gSystem->ExpandPathName(fZDCCalibFName); +} + + #endif