AliRoot Core  3dc7879 (3dc7879)
AliFMD.h
Go to the documentation of this file.
1 #ifndef ALIFMD_H
2 #define ALIFMD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4  * reserved.
5  *
6  * Latest changes by Christian Holm Christensen <cholm@nbi.dk>
7  *
8  * See cxx source for full Copyright notice
9  */
226 //____________________________________________________________________
227 //
228 // Manager class for the FMD - Base class.
229 // AliFMDv1, AliFMDv0, and AliFMDAlla
230 // provides concrete implementations.
231 // This class is sooooo crowded
232 //
233 #ifndef ALIDETECTOR_H
234 # include <AliDetector.h>
235 #endif
236 #ifndef ROOT_TArrayI
237 # include <TArrayI.h>
238 #endif
239 class TBranch;
240 class TClonesArray;
241 class TBrowser;
242 class TMarker3DBox;
243 class TArrayI;
244 class AliDigitizer;
245 class AliFMDHit;
246 
247 //____________________________________________________________________
306 class AliFMD : public AliDetector
307 {
308 public:
310  AliFMD();
314  AliFMD(const char *name, const char *title);
316  virtual ~AliFMD();
319  void UseDetailed(Bool_t use=kTRUE) { fDetailed = use; }
320 
326  virtual void CreateGeometry();
330  virtual void AddAlignableVolumes() const;
344  virtual void CreateMaterials();
345 #if 0
346 
373  void SetTrackingParameters(Int_t imed,
374  Float_t gamma,
375  Float_t electron,
376  Float_t neutral_hadron,
377  Float_t charged_hadron,
378  Float_t muon,
379  Float_t electron_bremstrahlung,
380  Float_t muon__bremstrahlung,
381  Float_t electron_delta,
382  Float_t muon_delta,
383  Float_t muon_pair,
384  Int_t annihilation,
385  Int_t bremstrahlung,
386  Int_t compton_scattering,
387  Int_t decay,
388  Int_t delta_ray,
389  Int_t hadronic,
390  Int_t energy_loss,
391  Int_t multiple_scattering,
392  Int_t pair_production,
393  Int_t photon_production,
394  Int_t rayleigh_scattering);
395 #endif
396 
397  virtual void Init();
403  virtual void StepManager() = 0;
406  virtual void FinishEvent();
411  /* Create Tree branches for the FMD.
412  @param opt One of
413  - @c H Make a branch of TClonesArray of AliFMDHit's
414  - @c D Make a branch of TClonesArray of AliFMDDigit's
415  - @c S Make a branch of TClonesArray of AliFMDSDigit's */
416  virtual void MakeBranch(Option_t *opt=" ");
419  virtual void SetHitsAddressBranch(TBranch *b);
422  virtual void SetSDigitsAddressBranch(TBranch *b);
424  virtual void SetTreeAddress();
427  virtual TClonesArray* SDigits() { return fSDigits; }
429  virtual void ResetSDigits();
447  virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits);
465  virtual AliFMDHit* AddHitByFields(Int_t track,
466  UShort_t detector,
467  Char_t ring,
468  UShort_t sector,
469  UShort_t strip,
470  Float_t x=0,
471  Float_t y=0,
472  Float_t z=0,
473  Float_t px=0,
474  Float_t py=0,
475  Float_t pz=0,
476  Float_t edep=0,
477  Int_t pdg=0,
478  Float_t t=0,
479  Float_t len=0,
480  Bool_t stopped=kFALSE);
491  virtual void AddDigit(Int_t *digits, Int_t* notused=0);
500  virtual void AddDigitByFields(UShort_t detector=0,
501  Char_t ring='\0',
502  UShort_t sector=0,
503  UShort_t strip=0,
504  UShort_t count1=0,
505  Short_t count2=-1,
506  Short_t count3=-1,
507  Short_t count4=-1,
508  UShort_t nrefs=0,
509  Int_t* refs=0);
524  virtual void AddSDigit(Int_t *digits);
534  virtual void AddSDigitByFields(UShort_t detector=0,
535  Char_t ring='\0',
536  UShort_t sector=0,
537  UShort_t strip=0,
538  Float_t edep=0,
539  UShort_t count1=0,
540  Short_t count2=-1,
541  Short_t count3=-1,
542  Short_t count4=-1,
543  UShort_t ntot=0,
544  UShort_t nprim=0,
545  Int_t* refs=0);
553  virtual AliDigitizer* CreateDigitizer(AliDigitizationInput* digInput) const;
556  virtual void Hits2Digits();
559  virtual void Hits2SDigits();
568  virtual void Digits2Raw();
576  virtual Bool_t Raw2SDigits(AliRawReader* reader);
588  void Browse(TBrowser* b);
590 protected:
593  TClonesArray* HitsArray();
596  TClonesArray* DigitsArray();
600  TClonesArray* SDigitsArray();
601 
602  TClonesArray* fSDigits; // Summable digits
603  Int_t fNsdigits; // Number of digits
604  Bool_t fDetailed; // Use detailed geometry
605  Bool_t fUseOld; // Use old approx geometry
606  Bool_t fUseAssembly; // Use divided volumes
607 
608  enum {
609  kSiId, // ID index of Si medium
610  kAirId, // ID index of Air medium
611  kPlasticId, // ID index of Plastic medium
612  kPcbId, // ID index of PCB medium
613  kSiChipId, // ID index of Si Chip medium
614  kAlId, // ID index of Al medium
615  kCarbonId, // ID index of Carbon medium
616  kCopperId, // ID index of Copper Medium
617  kKaptonId, // ID index of Kapton Medium
618  kSteelId // ID index of Steel medium
619  };
620 
622 
623 private:
626  AliFMD(const AliFMD& other);
630  AliFMD& operator=(const AliFMD& other);
631 
632  ClassDef(AliFMD,11) // Base class FMD entry point
633 };
634 
635 #endif
636 //____________________________________________________________________
637 //
638 // Local Variables:
639 // mode: C++
640 // End:
641 //
642 // EOF
643 //
TBrowser b
Definition: RunAnaESD.C:12
virtual void Hits2SDigits()
Definition: AliFMD.cxx:953
virtual void AddAlignableVolumes() const
Definition: AliFMD.cxx:1060
virtual void SetHitsAddressBranch(TBranch *b)
Definition: AliFMD.cxx:612
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, UShort_t nrefs=0, Int_t *refs=0)
Definition: AliFMD.cxx:780
virtual void AddDigit(Int_t *digits, Int_t *notused=0)
Definition: AliFMD.cxx:754
virtual void AddSDigit(Int_t *digits)
Definition: AliFMD.cxx:817
AliFMD & operator=(const AliFMD &other)
virtual void ResetSDigits()
Definition: AliFMD.cxx:888
#define TObjArray
void UseDetailed(Bool_t use=kTRUE)
Definition: AliFMD.h:319
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, Int_t *refs=0)
Definition: AliFMD.cxx:847
Forward Multiplicity Detector based on Silicon wafers. This class is the driver for especially simula...
Definition: AliFMD.h:306
AliTPCfastTrack * track
virtual void CreateGeometry()
Definition: AliFMD.cxx:215
virtual void Digits2Raw()
Definition: AliFMD.cxx:992
TClonesArray * fSDigits
Definition: AliFMD.h:602
virtual void CreateMaterials()
Definition: AliFMD.cxx:230
virtual void SetSDigitsAddressBranch(TBranch *b)
Definition: AliFMD.cxx:619
Int_t fNsdigits
Definition: AliFMD.h:603
virtual void MakeBranch(Option_t *opt=" ")
Definition: AliFMD.cxx:557
TClonesArray * HitsArray()
Definition: AliFMD.cxx:899
Macros to do fast simulation of processes important for tuning of reconstruction Currently fast simulation of ionization digitization and cluster finder AliTPCclusterFast How to use it a which macro to use(I know it was somewhere in AliRoot but with the GIT page I dont find it anymore)
virtual void StepManager()=0
virtual TClonesArray * SDigits()
Definition: AliFMD.h:427
virtual void SetTreeAddress()
Definition: AliFMD.cxx:589
virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits)
Definition: AliFMD.cxx:627
virtual Bool_t Raw2SDigits(AliRawReader *reader)
Definition: AliFMD.cxx:1008
TObjArray * fBad
Definition: AliFMD.h:621
void Browse(TBrowser *b)
Definition: AliFMD.cxx:1049
AliFMD()
Definition: AliFMD.cxx:133
AliMUON * muon()
virtual AliFMDHit * AddHitByFields(Int_t track, UShort_t detector, Char_t ring, UShort_t sector, UShort_t strip, Float_t x=0, Float_t y=0, Float_t z=0, Float_t px=0, Float_t py=0, Float_t pz=0, Float_t edep=0, Int_t pdg=0, Float_t t=0, Float_t len=0, Bool_t stopped=kFALSE)
Definition: AliFMD.cxx:668
virtual AliDigitizer * CreateDigitizer(AliDigitizationInput *digInput) const
Definition: AliFMD.cxx:966
virtual ~AliFMD()
Definition: AliFMD.cxx:183
Bool_t fDetailed
Definition: AliFMD.h:604
virtual void Hits2Digits()
Definition: AliFMD.cxx:941
virtual void Init()
Definition: AliFMD.cxx:490
AliFMDhit is the hit class for the FMD. Hits are the information that comes from a Monte Carlo at eac...
Definition: AliFMDHit.h:30
virtual void FinishEvent()
Definition: AliFMD.cxx:534
TClonesArray * DigitsArray()
Definition: AliFMD.cxx:913
Bool_t fUseOld
Definition: AliFMD.h:605
TClonesArray * SDigitsArray()
Definition: AliFMD.cxx:925
Bool_t fUseAssembly
Definition: AliFMD.h:606