#ifndef ALIDETECTOR_H
# include <AliDetector.h>
#endif
+#ifndef ROOT_TArrayI
+# include <TArrayI.h>
+#endif
class TBranch;
class TClonesArray;
class TBrowser;
class TMarker3DBox;
+class TArrayI;
class AliDigitizer;
class AliFMDHit;
/** @{*/
/** @name Graphics and event display */
- /** Build simple ROOT TNode geometry for event display. With the new
- geometry modeller, TGeoManager, this seems rather redundant. */
- virtual void BuildGeometry();
/** Draw a shaded view of the Forward multiplicity detector. This
isn't really useful anymore. */
- virtual void DrawDetector();
- /** Calculate the distance from the mouse to the FMD on the screen
- Dummy routine */
- virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
- /** Store x, y, z of all hits in memory for display.
- Normally, the hits are drawn using TPolyMarker3D - however, that
- is not very useful for the FMD. Therefor, this member function
- is overloaded to make TMarker3D, via the class AliFMDPoints.
- AliFMDPoints is a local class.
- @param track the track number to load the hits for */
- virtual void LoadPoints(Int_t track);
+ virtual void DrawDetector() {}
/** @}*/
/** @{ */
@param count1 ADC count (a 10-bit word)
@param count2 ADC count (a 10-bit word), or -1 if not used
@param count3 ADC count (a 10-bit word), or -1 if not used */
- virtual void AddDigitByFields(UShort_t detector=0,
- Char_t ring='\0',
- UShort_t sector=0,
- UShort_t strip=0,
- UShort_t count1=0,
- Short_t count2=-1,
- Short_t count3=-1,
- Short_t count4=-1);
+ virtual void AddDigitByFields(UShort_t detector=0,
+ Char_t ring='\0',
+ UShort_t sector=0,
+ UShort_t strip=0,
+ UShort_t count1=0,
+ Short_t count2=-1,
+ Short_t count3=-1,
+ Short_t count4=-1,
+ const TArrayI& refs=TArrayI());
/** Add a digit to the Digit tree
@param digits
- digits[0] [UShort_t] Detector #
- digits[1] [Char_t] Ring ID
- digits[2] [UShort_t] Sector #
- digits[3] [UShort_t] Strip #
- - digits[4] [UShort_t] ADC Count
- - digits[5] [Short_t] ADC Count, -1 if not used
- - digits[6] [Short_t] ADC Count, -1 if not used */
+ - digits[4] [Float_t] Edep
+ - digits[5] [UShort_t] ADC Count
+ - digits[6] [Short_t] ADC Count, -1 if not used
+ - digits[7] [Short_t] ADC Count, -1 if not used
+ - digits[8] [Short_t] ADC Count, -1 if not used
+ - digits[9] [UShort_t] N total particles
+ - digits[10] [UShort_t] N total primary particles
+ */
virtual void AddSDigit(Int_t *digits);
/** add a summable digit - as coming from data
@param detector Detector # (1, 2, or 3)
@param count1 ADC count (a 10-bit word)
@param count2 ADC count (a 10-bit word), or -1 if not used
@param count3 ADC count (a 10-bit word), or -1 if not used */
- virtual void AddSDigitByFields(UShort_t detector=0,
- Char_t ring='\0',
- UShort_t sector=0,
- UShort_t strip=0,
- Float_t edep=0,
- UShort_t count1=0,
- Short_t count2=-1,
- Short_t count3=-1,
- Short_t count4=-1);
+ virtual void AddSDigitByFields(UShort_t detector=0,
+ Char_t ring='\0',
+ UShort_t sector=0,
+ UShort_t strip=0,
+ Float_t edep=0,
+ UShort_t count1=0,
+ Short_t count2=-1,
+ Short_t count3=-1,
+ Short_t count4=-1,
+ UShort_t ntot=0,
+ UShort_t nprim=0,
+ const TArrayI& refs=TArrayI());
/** @}*/
/** @{ */
/** @{ */
/** @name Raw data */
- /** Turn digits into raw data. This uses the class AliFMDRawWriter
- to do the job. Please refer to that class for more
- information. */
- virtual void Digits2Raw();
+ /**
+ * Turn digits into raw data. This uses the class AliFMDRawWriter to
+ * do the job. Please refer to that class for more information.
+ */
+ virtual void Digits2Raw();
+ /**
+ * Convert raw data to sdigits
+ *
+ * @param reader Raw reader
+ *
+ * @return @c true on success
+ */
+ virtual Bool_t Raw2SDigits(AliRawReader* reader);
/** @}*/
/** @{ */
- /** @name Utility */
- /** Browse this object
- @param b Browser to show this object in */
+ /**
+ * @name Utility
+ */
+ /**
+ * Browse this object
+ *
+ * @param b Browser to show this object in
+ */
void Browse(TBrowser* b);
/** @}*/
protected: