X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=FMD%2FAliFMDInput.h;h=8a931bcdd5091c5b326b4aff1aec6266156975c1;hb=fee5f6832bb5f16635def5d043ed3a7377e4ed28;hp=9fbe3dc2096cbd2a6de311360915bce16f2a5b9e;hpb=faf80567e50c3b411106dcc26a9d3e95b6a1fa1a;p=u%2Fmrichter%2FAliRoot.git diff --git a/FMD/AliFMDInput.h b/FMD/AliFMDInput.h index 9fbe3dc2096..8a931bcdd50 100644 --- a/FMD/AliFMDInput.h +++ b/FMD/AliFMDInput.h @@ -115,7 +115,9 @@ public: kRaw, // Read raw data kGeometry, // Not really a tree kTracks, // Hits and tracs - for BG study - kTrackRefs // Track references - also for BG study + kTrackRefs, // Track references - also for BG study + kRawCalib, // Read raws and calibrate them + kUser }; /** CTOR */ AliFMDInput(); @@ -182,6 +184,10 @@ public: ProcessRawDigit for each digit. @return @c false on error */ virtual Bool_t ProcessRawDigits(); + /** Loop over all digits read from raw data files, and call + ProcessRawDigit for each digit. + @return @c false on error */ + virtual Bool_t ProcessRawCalibDigits(); /** Loop over all reconstructed points, and call ProcessRecPoint for each reconstructed point. @return @c false on error */ @@ -189,6 +195,9 @@ public: /** Loop over all ESD data, and call ProcessESD for each entry. @return @c false on error */ virtual Bool_t ProcessESDs(); + /** Loop over all strips and ask user routine to supply the data. + @return @c false on error */ + virtual Bool_t ProcessUsers(); /** Process one hit, and optionally it's corresponding kinematics track. Users should over this to process each hit. @@ -224,6 +233,11 @@ public: @param digit Raw digit @return @c false on error */ virtual Bool_t ProcessRawDigit(AliFMDDigit* digit); + /** Process one digit from raw data files. Users should over this + to process each raw digit. + @param digit Raw digit + @return @c false on error */ + virtual Bool_t ProcessRawCalibDigit(AliFMDDigit* digit); /** Process one reconstructed point. Users should over this to process each reconstructed point. @param point Reconstructed point @@ -238,8 +252,18 @@ public: @param eta Psuedo-rapidity @param mult Psuedo-multiplicity @return @c false on error */ - virtual Bool_t ProcessESD(UShort_t, Char_t, UShort_t, UShort_t, - Float_t, Float_t); + virtual Bool_t ProcessESD(UShort_t d, Char_t r, UShort_t s, UShort_t t, + Float_t eta, Float_t mult); + /** Process User data for the FMD. Users should overload this to + deal with ESD data. + @param d Detector number (1-3) + @param r Ring identifier ('I' or 'O') + @param s Sector number (0-19, or 0-39) + @param t Strip number (0-511, or 0-255) + @param v Value + @return @c false on error */ + virtual Bool_t ProcessUser(UShort_t d, Char_t r, UShort_t s, UShort_t t, + Float_t v); /** Service function to make a logarithmic axis. @param n Number of bins @param min Minimum of axis @@ -291,6 +315,17 @@ protected: /** Assignement operator @return REference to this */ AliFMDInput& operator=(const AliFMDInput&) { return *this; } + /** + * Get user supplued data + * + * @param d Detector + * @param r Ring + * @param s Sector + * @param t Strip + * + * @return Value + */ + virtual Float_t GetSignal(UShort_t d, Char_t r, UShort_t s, UShort_t t); TString fGAliceFile; // File name of gAlice file AliRunLoader* fLoader; // Loader of FMD data @@ -334,9 +369,14 @@ inline Bool_t AliFMDInput::ProcessTrack(Int_t,TParticle*, inline Bool_t AliFMDInput::ProcessDigit(AliFMDDigit*) { return kTRUE; } inline Bool_t AliFMDInput::ProcessSDigit(AliFMDSDigit*) { return kTRUE; } inline Bool_t AliFMDInput::ProcessRawDigit(AliFMDDigit*) { return kTRUE; } +inline Bool_t AliFMDInput::ProcessRawCalibDigit(AliFMDDigit*) { return kTRUE; } inline Bool_t AliFMDInput::ProcessRecPoint(AliFMDRecPoint*) { return kTRUE; } inline Bool_t AliFMDInput::ProcessESD(UShort_t,Char_t,UShort_t,UShort_t, Float_t,Float_t) { return kTRUE; } +inline Bool_t AliFMDInput::ProcessUser(UShort_t,Char_t,UShort_t,UShort_t, + Float_t) { return kTRUE; } +inline Float_t AliFMDInput::GetSignal(UShort_t, Char_t, UShort_t, UShort_t) { + return 0.; } #endif