]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fixes for compilation warnings (Christian)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 27 Apr 2006 13:26:38 +0000 (13:26 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 27 Apr 2006 13:26:38 +0000 (13:26 +0000)
27 files changed:
FMD/AliFMD1.cxx
FMD/AliFMD2.cxx
FMD/AliFMD3.cxx
FMD/AliFMDAltroMapping.cxx
FMD/AliFMDBaseDigit.cxx
FMD/AliFMDBaseDigitizer.cxx
FMD/AliFMDCalibFaker.cxx
FMD/AliFMDCalibSampleRate.cxx
FMD/AliFMDCalibStripRange.cxx
FMD/AliFMDDetector.cxx
FMD/AliFMDDigitizer.cxx
FMD/AliFMDGeometry.h
FMD/AliFMDGeometryBuilder.cxx
FMD/AliFMDParameters.cxx
FMD/AliFMDParameters.h
FMD/AliFMDPoints.h
FMD/AliFMDRawReader.cxx
FMD/AliFMDRawStream.h
FMD/AliFMDReconstructor.cxx
FMD/AliFMDRing.cxx
FMD/AliFMDSDigitizer.cxx
FMD/AliFMDv1.cxx
FMD/Config.C
STEER/AliESDFMD.cxx
STEER/AliESDFMD.h
STEER/AliFMDFloatMap.cxx
STEER/AliFMDFloatMap.h

index 91f3e77eae64ccfdc86d104d13553f6e78fc7651..bc8956352d04d0b3c6ae573a6dc5192c3be83edc 100644 (file)
 //                                                                          
 // Concrete implementation of AliFMDDetector 
 //
-// This implements the geometry for FMD1 
+// This implements the geometry for FMD1 
 // FMD1 has only one ring, of type `inner'.  
 // It is sitting at z=320.
-// It is the FMD ring with highest eta
+// It is the FMD ring with highest eta.  
+// FMD1 currently has no support defined. 
 //
 #include "AliFMD1.h"           // ALIFMD1_H 
 // #include "AliFMDRing.h"             // ALIFMDRING_H 
index 350c035988d134aab008d73e636367a7b7419bcd..37b9ebb5d3cc869422d1e6167aef07d967de043a 100644 (file)
@@ -26,6 +26,7 @@
 // The FMD2 has two ring, one of both types. 
 // FMD2 is mounted on the space-frame via 4 flanges
 // Support is not fleshed ot yet. 
+// Support will be simple compared to FMD3.
 //
 #include "AliFMD2.h"           // ALIFMD2_H 
 // #include "AliFMDRing.h"             // ALIFMDRING_H 
index ecdab228bb1e0231811453ff851ba5b11b721bcd..83eb9b9bce582a1ba0ea8530eac49df7afa0039e 100644 (file)
@@ -26,6 +26,8 @@
 // This has 2 rings.
 // The support of the FMD3 is a carbon-fibre cone, attached to the ITS
 // support via flanges.  The cone also supports the beam-pipe.
+// The support is a special cone of carbon-fibre made by a Danish
+// Yacht company.
 //
 #include "AliFMD3.h"           // ALIFMD3_H 
 #include "AliLog.h"            // ALILOG_H
index e731f4645e03d601f3b7927b1b2deb8c3e314cd8..72683cb467568f5dc66620a57a4487276fa28522 100644 (file)
 //                                                                          
 // Mapping of ALTRO hardware channel to detector coordinates 
 //
-//    The hardware address consist of a DDL number and 12bits of ALTRO
-//    addresses.  The ALTRO address are formatted as follows. 
+// The hardware address consist of a DDL number and 12bits of ALTRO
+// addresses.  The ALTRO address are formatted as follows. 
 //
 //    12              7         4            0
 //    |---------------|---------|------------|
 //    | Board #       | ALTRO # | Channel #  |
 //    +---------------+---------+------------+
 //
-//
+// The mapping is done purely by calculations.  In the future,
+// however, we may need some hard-coded stuff, or an external file to
+// read from.  
 //
 #include "AliFMDAltroMapping.h"                // ALIFMDALTROMAPPING_H
 #include "AliFMDParameters.h"
index f570effc8d0ce9c9b1b8dd1587722d45d3b1e6e0..5035dd7f128dd2efd6f228e243c88cef61751afe 100644 (file)
@@ -128,6 +128,7 @@ AliFMDBaseDigit::GetName() const
 ULong_t
 AliFMDBaseDigit::Hash() const
 {
+  // Calculate a hash value based on the detector coordinates. 
   size_t ringi = (fRing == 'I' ||  fRing == 'i' ? 0 : 1);
   return fStrip + fMaxStrips * 
     (fSector + fMaxSectors * (ringi + fMaxRings * (fDetector - 1)));
@@ -138,6 +139,18 @@ AliFMDBaseDigit::Hash() const
 Int_t
 AliFMDBaseDigit::Compare(const TObject* o) const
 {
+  // Compare to other digit.  If the passed pointer to TObject does
+  // not point to an object of class AliFMDBaseDigit (or one of it's
+  // derived classes), then a fatal exception is made. 
+  // 
+  // Returns -1, if this object's detector coordinates are smaller
+  // than passed object's detector coordinates. 
+  // 
+  // Returns  0, if this object's detector coordinates is the same as
+  // passed object's detector coordinates.  
+  // 
+  // Returns  1, if this object's detector coordinates are larger
+  // than passed object's detector coordinates. 
   if (!o) 
     AliFatal("Can not compare to NULL!");
   if (o->IsA() != AliFMDBaseDigit::Class()) 
index 62ea4c0a87349b0aff74b2a08e4571ec2ecfe8b1..09125edd4d9e47e8ec314680d6856521512e1b6c 100644 (file)
 #include "AliFMDDetector.h"    // ALIFMDDETECTOR_H
 #include "AliFMDRing.h"                // ALIFMDRING_H
 #include "AliFMDHit.h"         // ALIFMDHIT_H
-#include "AliFMDDigit.h"       // ALIFMDDIGIT_H
+// #include "AliFMDDigit.h"    // ALIFMDDIGIT_H
 #include "AliFMDParameters.h"   // ALIFMDPARAMETERS_H
-#include <AliRunDigitizer.h>   // ALIRUNDIGITIZER_H
+// #include <AliRunDigitizer.h>        // ALIRUNDIGITIZER_H
 //#include <AliRun.h>          // ALIRUN_H
 #include <AliLoader.h>         // ALILOADER_H
 #include <AliRunLoader.h>      // ALIRUNLOADER_H
@@ -475,7 +475,6 @@ AliFMDBaseDigitizer::ConvertToCount(Float_t   edep,
   UShort_t ped            = MakePedestal(detector,ring,sector,strip);
   UInt_t   maxAdc         = param->GetAltroChannelSize();
   UShort_t rate           = param->GetSampleRate(detector,ring,sector,strip);
-  UShort_t size           = param->GetAltroChannelSize();
   
   // In case we don't oversample, just return the end value. 
   if (rate == 1) {
index baf9369793d29d8486d643ff53b6c2c1c96b2f39..3693be68b62d6a38ecb094b4e13f06ebc32c0298 100644 (file)
@@ -27,8 +27,9 @@
 // the bit mask passed to the constructor, or added by `AddCalib'.
 //
 // The default is to write all calibration parameters to a local
-// storage `local://cdb' which is a directory in the current
-// directory. 
+// storage `local://$ALICE_ROOT' which is were the sources live (sigh!
+// - why oh why do we need to shit where we eat - it's just not
+// healty).
 //                                                       
 #include "AliLog.h"               // ALILOG_H
 #include "AliFMDCalibFaker.h"      // ALIFMDCALIBFAKER_H
index 5ac341033e1a8b789033f1ee9fd732b3afc8660b..80dbdba8cc132c331559f2cb61f8233413caf19f 100644 (file)
@@ -27,7 +27,7 @@
 // retrived from DCS or the like. 
 //
 #include "AliFMDCalibSampleRate.h"     // ALIFMDCALIBGAIN_H
-#include "AliFMDParameters.h"           // ALIFMDPARAMETERS_H
+// #include "AliFMDParameters.h"           // ALIFMDPARAMETERS_H
 #include <AliLog.h>
 
 //____________________________________________________________________
index 4da7294d296bba1d608f21c0d105100fbe6b470b..9831c3ee83284f9cf9c834c82576d744da963a90 100644 (file)
@@ -27,7 +27,7 @@
 // This information comes from DCS or the like.
 //
 #include "AliFMDCalibStripRange.h"     // ALIFMDCALIBGAIN_H
-#include "AliFMDParameters.h"           // ALIFMDPARAMETERS_H
+// #include "AliFMDParameters.h"           // ALIFMDPARAMETERS_H
 
 //____________________________________________________________________
 ClassImp(AliFMDCalibStripRange)
index d23cf2d1fba0df881a1a5ea191102f7cdc7bae79..82b7ef5855ec800a8e05bad9404e74b380c342e2 100644 (file)
 
 //____________________________________________________________________
 //
+// AliFMDDetector.   
+//
+// Base class for concrete FMD detectors, like AliFMD1, AliFMD2,
+// AliFMD3. 
 // Utility class to help implement the FMD geometry.  This provides
 // the interface for the concrete geometry implementations of the FMD
 // sub-detectors. 
index f68ee457c991de49f7fbc3ec2b8f6e80c1db93a0..ab26a1eb6077d93459a2ff90c486752e8d61c5f1 100644 (file)
 #include <AliLog.h>            // ALILOG_H
 #include "AliFMDDigitizer.h"   // ALIFMDDIGITIZER_H
 #include "AliFMD.h"            // ALIFMD_H
-#include "AliFMDGeometry.h"    // ALIFMDGEOMETRY_H
-#include "AliFMDDetector.h"    // ALIFMDDETECTOR_H
-#include "AliFMDRing.h"                // ALIFMDRING_H
-#include "AliFMDHit.h"         // ALIFMDHIT_H
+// #include "AliFMDGeometry.h" // ALIFMDGEOMETRY_H
+// #include "AliFMDDetector.h" // ALIFMDDETECTOR_H
+// #include "AliFMDRing.h"             // ALIFMDRING_H
+// #include "AliFMDHit.h"              // ALIFMDHIT_H
 #include "AliFMDDigit.h"       // ALIFMDDIGIT_H
 #include "AliFMDParameters.h"   // ALIFMDPARAMETERS_H
 #include <AliRunDigitizer.h>   // ALIRUNDIGITIZER_H
index abb51cc6c8fabca46763e232fe7808741c1269f9..38fa18c9640c35644762fcba6ae28081401ae4a3 100644 (file)
@@ -18,6 +18,7 @@
 //
 // This class is a singleton that handles the geometry parameters of
 // the FMD detectors.  
+// The actual code is done by various separate classes.
 //                                                       
 #ifndef ALIGEOMETRY_H
 # include <AliGeometry.h>
index 6fc9a6a5de71fefcaefc0f58348773aff2d8e050..ed1e37aa45974e9b229a707dbc9ade5560325bcf 100644 (file)
 //____________________________________________________________________
 //                                                                          
 // Builder of FMD geometry. 
+//
 // This class takes care of actually building the geometry using the 
 // TGeo classes.  Various parameters are fecthed from the
 // AliFMDGeometry manager.  
-//
 // Forward Multiplicity Detector based on Silicon wafers. This class
 // contains the base procedures for the Forward Multiplicity detector
 // Detector consists of 3 sub-detectors FMD1, FMD2, and FMD3, each of
@@ -38,7 +38,7 @@
 #include "AliFMD1.h"           // ALIFMD1_H
 #include "AliFMD2.h"           // ALIFMD2_H
 #include "AliFMD3.h"           // ALIFMD3_H
-#include "AliFMD.h"            // ALIFMD_H
+// #include "AliFMD.h"         // ALIFMD_H
 #include "AliLog.h"            // ALILOG_H
 #include <TGeoVolume.h>                // ROOT_TGeoVolume
 #include <TGeoTube.h>          // ROOT_TGeoTube
index 5cf64f50dde21b69d1d047c3c64045c8692b1171..546f20c181e559c1055a6cf741a94fcaa7975201 100644 (file)
 //
 // This class is a singleton that handles various parameters of
 // the FMD detectors.  
-// Eventually, this class will use the Conditions DB to get the
-// various parameters, which code can then request from here.
+// The manager normally serves the parameters from the Conditions
+// Database (CDB).  These are retrivied by the member function
+// `Init'.  Optionally, the class can serve hard-coded constants, if
+// no CDB is available. 
 //                                                       
 #include "AliLog.h"               // ALILOG_H
 #include "AliFMDParameters.h"     // ALIFMDPARAMETERS_H
@@ -40,6 +42,8 @@
 #include <AliCDBEntry.h>           // ALICDBMANAGER_H
 #include <Riostream.h>
 #include <sstream>
+#include <TArrayF.h>
+#include <TH2D.h>
 
 //====================================================================
 ClassImp(AliFMDParameters)
@@ -113,6 +117,129 @@ AliFMDParameters::Init()
   
 }
 
+//__________________________________________________________________
+#define DET2IDX(det,ring,sec,str) \
+  (det * 10000 + (ring == 'I' ? 0 : 1000) + str)  
+  
+//__________________________________________________________________
+void
+AliFMDParameters::Draw(Option_t* option)
+{
+  TString opt(option);
+  enum {
+    kPulseGain,       // Path to PulseGain calib object
+    kThreshold,       // Path to PulseGain calib object
+    kPedestal,        // Path to Pedestal calib object
+    kPedestalWidth,   // Path to Pedestal calib object
+    kDead,            // Path to Dead calib object
+    kSampleRate,      // Path to SampleRate calib object
+    kAltroMap,        // Path to AltroMap calib object
+    kZeroSuppression, // Path to ZeroSuppression cal object
+    kMinStripRange,   // Path to strip range cal object
+    kMaxStripRange    // Path to strip range cal object
+  } what;
+  
+    
+  if      (opt.Contains("dead", TString::kIgnoreCase)) 
+    what = kDead;
+  else if (opt.Contains("threshold",TString::kIgnoreCase)) 
+    what = kThreshold;
+  else if (opt.Contains("gain",TString::kIgnoreCase)) 
+    what = kPulseGain;
+  else if (opt.Contains("pedestal",TString::kIgnoreCase)) 
+    what = kPedestal;
+  else if (opt.Contains("noise",TString::kIgnoreCase)) 
+    what = kPedestalWidth;
+  else if (opt.Contains("zero",TString::kIgnoreCase)) 
+    what = kZeroSuppression;
+  else if (opt.Contains("rate",TString::kIgnoreCase)) 
+    what = kSampleRate;
+  else if (opt.Contains("min",TString::kIgnoreCase)) 
+    what = kMinStripRange;
+  else if (opt.Contains("max",TString::kIgnoreCase)) 
+    what = kMaxStripRange;
+  else if (opt.Contains("map",TString::kIgnoreCase)) 
+    what = kAltroMap;
+  else {
+    Warning("Draw", "unknown parameter: %s\n\tShould be one of\n\t"
+           "dead, threshold, gain, pedestal, noise, zero, rate, "
+           "min, max, map",  
+           option); 
+    return;
+  }
+
+  TArrayD xbins(3 * 512 + 2 * 256 + 5);
+  Int_t i = 1;
+  Bool_t skip = kTRUE;
+  for (UShort_t det = 1; det <= 3; det++) {
+    UShort_t nRings = (det == 1 ? 1 : 2);
+    for (UShort_t iring = 0; iring < nRings; iring++) {
+      UShort_t nStrip  = (iring == 0 ? 512 : 256);
+      Char_t   ring    = (iring == 0 ? 'I' : 'O');
+      for (UShort_t str = 0; str < nStrip; str++) {
+       Int_t idx = DET2IDX(det, ring, 0, str);
+       if (skip) {
+         xbins[i-1] = idx - .5;
+         skip  = kFALSE;
+       }
+       xbins[i] = idx + .5;
+       i++;
+      }
+      skip = kTRUE;
+      i++;
+    }
+  }
+  TArrayD ybins(41);
+  for (Int_t i = 0; i < 41; i++) ybins[i] = Float_t(i - .5);
+  TH2D* hist = new TH2D("calib", Form("Calibration %s", option), 
+                       xbins.fN-1, xbins.fArray,  
+                       ybins.fN-1, ybins.fArray);
+
+  // hist->Draw("Lego");
+  // return;
+  
+  for (UShort_t det = 1; det <= 3; det++) {
+    UShort_t nRings = (det == 1 ? 1 : 2);
+    for (UShort_t iring = 0; iring < nRings; iring++) {
+      UShort_t nSector = (iring == 0 ?  20 : 40);
+      UShort_t nStrip  = (iring == 0 ? 512 : 256);
+      Char_t   ring    = (iring == 0 ? 'I' : 'O');
+      for (UShort_t sec = 0; sec < nSector; sec++) {
+       for (UShort_t str = 0; str < nStrip; str++) {
+         Int_t idx = DET2IDX(det, ring, sec, str);
+         UInt_t ddl, addr;
+         Double_t val = 0;
+         switch (what) {
+         case kPulseGain:       // Path to PulseGain calib object
+            val = GetPulseGain(det,ring,sec,str); break;
+         case kThreshold:       // Path to PulseGain calib object
+            val = GetThreshold(); break;
+         case kPedestal:        // Path to Pedestal calib object
+            val = GetPedestal(det,ring,sec,str); break;
+         case kPedestalWidth:   // Path to Pedestal calib object
+            val = GetPedestalWidth(det,ring,sec,str); break;
+         case kDead:            // Path to Dead calib object
+            val = IsDead(det,ring,sec,str); break;
+         case kSampleRate:      // Path to SampleRate calib object
+            val = GetSampleRate(det,ring,sec,str); break;
+         case kAltroMap:        // Path to AltroMap calib object
+           Detector2Hardware(det,ring,sec,str, ddl, addr); 
+            val = addr; break;
+         case kZeroSuppression: // Path to ZeroSuppression cal object
+            val = GetZeroSuppression(det,ring,sec,str); break;
+         case kMinStripRange:   // Path to strip range cal object
+            val = GetMinStrip(det,ring,sec,str); break;
+         case kMaxStripRange:    // Path to strip range cal object
+            val = GetMaxStrip(det,ring,sec,str); break;
+         }
+         hist->Fill(idx,sec,val);
+       }
+      }
+    }
+  }
+  hist->Draw("lego");
+}
+
 //__________________________________________________________________
 void
 AliFMDParameters::Print(Option_t* option) const
index 3a465daae7d9f2f3538c96b170c44a8b160ba6b5..66b6c1bbd7e6c8918ca74acf09e0f52ddc0a3b77 100644 (file)
@@ -86,6 +86,20 @@ public:
   /** Print all parameters. 
       @param option Option string */
   void Print(Option_t* option="A") const;
+  /** Draw parameters. 
+      @param option What to draw. Should be one of 
+      - dead     Dead channels
+      - threshold Threshold
+      - gain     Gain
+      - pedestal  Pedestal
+      - noise    Noise (or pedestal width)
+      - zero     Zero suppression
+      - rate     Sampling rate (VA1 clock / ALTRO clock)
+      - min      Minimum strip read out
+      - max      Maximum strip read out
+      - map      hardware address
+  */
+  void Draw(Option_t* option="pedestal");
   
   /** @{ */
   /** @name Set various `Fixed' parameters */
index 46a24f9737511bd8095e52cd606d83add0cd8465..72379f13c16c1107304b4398320b80daa9e2ee78 100644 (file)
     @brief   Specialised class for drawing hits in the FMD. 
     @ingroup FMD_sim
 */
+//____________________________________________________________________
+//
+// AliFMDPoints.  
+// Class to draw FMD Hits. 
+// Normally, hits are drawn using TPolyMarker3D.  However, that's not
+// really appropriate for the FMD.  Instead, we use TMarker3DBox. 
+//
 #ifndef ALIPOINTS_H
 # include <AliPoints.h>
 #endif
index c76950e37a587d94d864d4397de1f870410ebfc8..c58bb7c18fd8af5d07480c1fb4938a6f9f884f27 100644 (file)
@@ -50,7 +50,7 @@
 #include "AliFMDParameters.h"  // ALIFMDPARAMETERS_H
 #include "AliFMDDigit.h"       // ALIFMDDIGIT_H
 #include "AliFMDRawStream.h"   // ALIFMDRAWSTREAM_H 
-#include "AliRawReader.h"      // ALIRAWREADER_H 
+// #include "AliRawReader.h"   // ALIRAWREADER_H 
 #include "AliFMDRawReader.h"   // ALIFMDRAWREADER_H 
 // #include "AliFMDAltroIO.h"  // ALIFMDALTROIO_H 
 // #include <TArrayI.h>                // ROOT_TArrayI
index f134e0d207b058f6f1aca853005de62df1eeb8a3..897224a06d88d9ee6ed867ec050572f4cf19def2 100644 (file)
@@ -7,6 +7,14 @@
  *
  * See cxx source for full Copyright notice                               
  */
+//____________________________________________________________________
+//
+// Class to read ALTRO formated data from an AliRawReader.  
+// This class is mostly here to set AliAltroRawStream::fNoAltroMapping
+// to false.   Furthermore, it defines the utility function
+// ReadChannel to read in a full ALTRO channel.  The data is unpacked
+// into the passed array.  
+//
 /** @file    AliFMDRawStream.h
     @author  Christian Holm Christensen <cholm@nbi.dk>
     @date    Tue Mar 28 12:53:26 2006
index 788655eb71a585dd0ccdf3a3783991ccb24e78ca..ea8e2cd4d3da80ca6663aaad5b9d7485cb9cebaa 100644 (file)
 //____________________________________________________________________
 //
 // This is a class that constructs AliFMDRecPoint objects from of Digits
-//
-// This class reads either digits from a TClonesArray or raw data from
+// This class reads either digits from a TClonesArray or raw data from 
 // a DDL file (or similar), and stores the read ADC counts in an
-// internal cache (fAdcs). 
+// internal cache (fAdcs).   The rec-points are made via the naiive
+// method. 
 //
 //-- Authors: Evgeny Karpechev(INR) and Alla Maevsksia
 //  Latest changes by Christian Holm Christensen <cholm@nbi.dk>
@@ -33,7 +33,7 @@
 //____________________________________________________________________
 
 #include <AliLog.h>                        // ALILOG_H
-#include <AliRun.h>                        // ALIRUN_H
+// #include <AliRun.h>                        // ALIRUN_H
 #include <AliRunLoader.h>                  // ALIRUNLOADER_H
 #include <AliHeader.h>                     // ALIHEADER_H
 #include <AliGenEventHeader.h>             // ALIGENEVENTHEADER_H
index da598669999b1123c9fb0507fbed2431ddf1f300..78db3450481b7ce0c8b65e955b51be57a6737e6b 100644 (file)
@@ -21,8 +21,7 @@
 //__________________________________________________________________
 //
 // Utility class to help implement collection of FMD modules into
-// rings.  This is used by AliFMDDetector and AliFMDGeometry.  
-//
+// rings.  This is used by AliFMDDetector and AliFMDGeometry.
 // The AliFMDGeometry object owns the AliFMDRing objects, and the
 // AliFMDDetector objects reference these.  That is, the AliFMDRing
 // objects are share amoung the AliFMDDetector objects.
index 70c4ca3141305476f9abe489b6a8d0f56f0c01ac..af6f8e4a9e7313c9edd0dc2e9a32d4409d7d9eae 100644 (file)
 //                    -1 + B + exp(-B)
 //
 
-#include <TTree.h>             // ROOT_TTree
+// #include <TTree.h>          // ROOT_TTree
 //#include <TRandom.h>         // ROOT_TRandom
 #include <AliLog.h>            // ALILOG_H
 #include "AliFMDSDigitizer.h"  // ALIFMDDIGITIZER_H
 #include "AliFMD.h"            // ALIFMD_H
-#include "AliFMDGeometry.h"    // ALIFMDGEOMETRY_H
-#include "AliFMDDetector.h"    // ALIFMDDETECTOR_H
-#include "AliFMDRing.h"                // ALIFMDRING_H
+// #include "AliFMDGeometry.h" // ALIFMDGEOMETRY_H
+// #include "AliFMDDetector.h" // ALIFMDDETECTOR_H
+// #include "AliFMDRing.h"             // ALIFMDRING_H
 #include "AliFMDHit.h"         // ALIFMDHIT_H
-#include "AliFMDDigit.h"       // ALIFMDDIGIT_H
-#include "AliFMDParameters.h"   // ALIFMDPARAMETERS_H
-#include <AliRunDigitizer.h>   // ALIRUNDIGITIZER_H
+// #include "AliFMDDigit.h"    // ALIFMDDIGIT_H
+// #include "AliFMDParameters.h"   // ALIFMDPARAMETERS_H
+// #include <AliRunDigitizer.h>        // ALIRUNDIGITIZER_H
 #include <AliRun.h>            // ALIRUN_H
 #include <AliLoader.h>         // ALILOADER_H
 #include <AliRunLoader.h>      // ALIRUNLOADER_H
index e521452285fb92b447663cabba90922737c89d13..af928dec4ef06432028ccf50ad1f7ca4352fbb64 100644 (file)
@@ -26,7 +26,6 @@
 // contains the base procedures for the Forward Multiplicity detector
 // Detector consists of 3 sub-detectors FMD1, FMD2, and FMD3, each of
 // which has 1 or 2 rings of silicon sensors. 
-//                                                       
 // This class contains the detailed version of the FMD - that is, hits
 // are produced during simulation. 
 //                                                                           
index fee5cfea8ba254935382e45ffd60230ee7daa403..6f13d2de32e58a8a916d4f306def8a41b48a24ed 100644 (file)
@@ -228,9 +228,10 @@ Config()
 {
   //____________________________________________________________________
   // This part for configuration    
-  //static EG_t eg = test50;
-  //EG_t  eg   = kParam_fmd;
-  EG_t  eg   = kParam_2000; // kPythia;
+  // EG_t  eg   = test50;
+  // EG_t  eg   = kParam_fmd;
+  // EG_t  eg   = kParam_2000; // kPythia;
+  EG_t  eg   = kFMDFlat;
   Geo_t geo  = kNoHoles;
   Rad_t rad  = kGluonRadiation;
   Mag_t mag  = k5kG;
@@ -1612,18 +1613,20 @@ GeneratorFactory(EG_t eg, Rad_t rad, TString& comment)
   case kFMDFlat:
     {
       comment = comment.Append(" Flat in FMD range");
-      AliGenCocktail* gener = AliGenCocktail("FMD cocktail");
-      gener->SetPart(211);
+      AliGenCocktail* gener = new AliGenCocktail();
       gener->SetMomentumRange(3,4);
       gener->SetPhiRange(0, 360);
       AliGenBox* gener3 = new AliGenBox(2000);
       gener3->SetThetaRange(155.97, 176.73);
+      gener3->SetPart(211);
       gener->AddGenerator(gener3, "FMD3", .33);
       AliGenBox* gener2 = new AliGenBox(2000);
       gener2->SetThetaRange(2.95, 20.42);
+      gener2->SetPart(211);
       gener->AddGenerator(gener2, "FMD2", .33);
       AliGenBox* gener1 = new AliGenBox(2000);
       gener1->SetThetaRange(0.77, 3.08);
+      gener1->SetPart(211);
       gener->AddGenerator(gener1, "FMD1", .34);
       gGener = gener;
     }
index d84965e4a00b4887ba3dbe3f3d25c3bf2bfce769..49f49a2c5c9b6d5422c54d014bc4fa5a4dce5310 100755 (executable)
@@ -134,6 +134,7 @@ AliESDFMD::SetEta(UShort_t detector, Char_t ring, UShort_t /* sector */,
 void
 AliESDFMD::Print(Option_t* /* option*/) const
 {
+  // Print all information to standard output. 
   std::cout << "AliESDFMD:" << std::endl;
   for (size_t det = 1; det <= fMultiplicity.MaxDetectors(); det++) {
     for (size_t ir = 0; ir < fMultiplicity.MaxRings(); ir++) {
index 96adb5432dc56692dcad3afe3cec42954345d286..a4c59dafb569cebd8caefafe283af860b380d734 100755 (executable)
@@ -53,8 +53,8 @@ public:
     kInvalidEta = 1000
   };
 protected:
-  AliFMDFloatMap fMultiplicity;
-  AliFMDFloatMap fEta;
+  AliFMDFloatMap fMultiplicity; // Psuedo multplicity per strip
+  AliFMDFloatMap fEta;          // Psuedo-rapidity per strip
   
   ClassDef(AliESDFMD,1)  // ESD info from FMD
 };
index dbe33866f9020e1ab2f9ff6c594d519d9d57da4c..0522dcd3e17a46965fdf21fdbeec3ecdc18d1f46 100755 (executable)
 //__________________________________________________________
 // 
 // Map of per strip Float_t information
+// the floats are indexed by the coordinates 
+//     DETECTOR # (1-3)
+//     RING ID    ('I' or 'O', any case)
+//     SECTOR #   (0-39)
+//     STRIP #    (0-511)
+//
 // 
 // Created Mon Nov  8 12:51:51 2004 by Christian Holm Christensen
 // 
index a61792532e48aaf5ad22c2d5b4a122e9118a8181..30d6fe2444c091aff6ad5f100ef4b2b2e5842ff8 100755 (executable)
 //____________________________________________________________________
 //
 // Array of floats indexed by strip identifier.
+// the floats are indexed by the coordinates 
+//     DETECTOR # (1-3)
+//     RING ID    ('I' or 'O', any case)
+//     SECTOR #   (0-39)
+//     STRIP #    (0-511)
 //
 class AliFMDFloatMap : public AliFMDMap
 {