X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRD.h;h=fee62a80f74d2c3ca3528d26a425f230eae699ec;hb=fdbc1dc88007f868cb5bea5b0239cd731b6ae2bc;hp=0bdc0d61764eac145fa518b16659525ea7abb275;hpb=99d5402e0113abf49efc553ced49b525a9143b5d;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRD.h b/TRD/AliTRD.h index 0bdc0d61764..fee62a80f74 100644 --- a/TRD/AliTRD.h +++ b/TRD/AliTRD.h @@ -1,87 +1,80 @@ -#ifndef TRD_H -#define TRD_H -//////////////////////////////////////////////// -// Manager and hits classes for set: TRD // -//////////////////////////////////////////////// - +#ifndef ALITRD_H +#define ALITRD_H +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +/* $Id$ */ + +//////////////////////////////////////////////////////////////////////////// +// // +// Manager and hits classes for set: TRD // +// // +//////////////////////////////////////////////////////////////////////////// + + #include "AliDetector.h" -#include "AliHit.h" -#include "AliDigit.h" -#include "AliTRDconst.h" +#include "AliTRDTrigger.h" + +class AliRawReader; + +class AliTRDgeometry; +class AliTriggerDetector; -//_____________________________________________________________________________ class AliTRD : public AliDetector { - -protected: - Int_t fGasMix; // Gas mixture. 0: Xe/Isobutane 1: Xe/CO2 - Float_t fClengthI[kNplan]; // Length of the inner chambers - Float_t fClengthM[kNplan]; // Length of the middle chambers - Float_t fClengthO[kNplan]; // Length of the outer chambers - Float_t fCwidth[kNplan]; // Width of the chambers + public: -public: AliTRD(); AliTRD(const char *name, const char *title); - virtual ~AliTRD(); - virtual void AddHit(Int_t, Int_t*, Float_t*); - virtual void AddDigit(Int_t*, Int_t*); - virtual void BuildGeometry(); - virtual void CreateGeometry(); - virtual void CreateMaterials(); - virtual void DrawModule(); - Int_t DistancetoPrimitive(Int_t px, Int_t py); - virtual void Init(); - virtual Int_t IsVersion() const = 0; - virtual void StepManager() = 0; - virtual void SetGasMix(Int_t imix = 0); - virtual void SetHits(Int_t ) {}; - virtual void SetSensPlane(Int_t) {}; - virtual void SetSensChamber(Int_t) {}; - virtual void SetSensSector(Int_t ) {}; - - ClassDef(AliTRD,1) // Transition Radiation Detector base class + virtual ~AliTRD(); -}; + virtual void Init(); + virtual Int_t IsVersion() const = 0; + virtual void ResetDigits(); -//_____________________________________________________________________________ -class AliTRDhit : public AliHit { - -public: - Int_t fSector; // TRD sector number - Int_t fChamber; // TRD chamber number - Int_t fPlane; // TRD plane number - Float_t fQ; // Charge created by a hit (geometry 2) - -public: - AliTRDhit() {} - AliTRDhit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits); - virtual ~AliTRDhit() {}; - - ClassDef(AliTRDhit,1) // Hits for Transition Radiation Detector + virtual void CreateGeometry(); + virtual void CreateMaterials(); -}; + virtual void Hits2Digits(); + virtual void Hits2SDigits(); + virtual void SDigits2Digits(); + virtual void Digits2Raw(); + virtual Bool_t Raw2SDigits(AliRawReader* rawReader); -//_____________________________________________________________________________ -class AliTRDdigit : public AliDigit { + virtual void AddHit(Int_t, Int_t*, Float_t*) { }; + virtual void AddHit(Int_t track, Int_t det, Float_t *hits + , Int_t q, Float_t time, Bool_t inDrift); -public: - Int_t fSector; // TRD sector number - Int_t fChamber; // TRD chamber number - Int_t fPlane; // TRD plane number - Int_t fRow; // Pad row number - Int_t fCol; // Pad col number - Int_t fTime; // Time bucket - Int_t fSignal; // Signal amplitude + virtual void SetTreeAddress(); -public: - AliTRDdigit() {}; - AliTRDdigit(Int_t *tracks, Int_t *digits); - virtual ~AliTRDdigit() {}; + virtual void StepManager() = 0; - ClassDef(AliTRDdigit,1) // Digits for Transition Radiation Detector + virtual void SetStepSize(Double_t s) = 0; + virtual void SetHits() { }; + virtual void SetTR(Bool_t ) = 0; -}; + virtual Bool_t GetTR() const = 0; + + AliTRDgeometry *GetGeometry() const { return fGeometry; }; + virtual AliDigitizer *CreateDigitizer(AliDigitizationInput* digInput) const; + virtual AliLoader *MakeLoader(const char* topfoldername); + virtual AliTriggerDetector *CreateTriggerDetector() const { return new AliTRDTrigger(); } + void SetPrimaryIonisation(Bool_t flag = kTRUE) {fPrimaryIonisation = flag;} + protected: + + AliTRDgeometry *fGeometry; // The TRD geometry + + Float_t fGasDensity; // The density of the drift gas + Float_t fFoilDensity; // The density of the entrance window foil + Float_t fGasNobleFraction; // The fraction of noble gas in the mixture + Bool_t fPrimaryIonisation; // switch between Fluka(true) and geant3(false) + private: + AliTRD(const AliTRD &trd); + AliTRD &operator=(const AliTRD &trd); + + ClassDef(AliTRD,12) // Transition Radiation Detector base class + +}; #endif