#ifndef ALITOFV6T0_H
#define ALITOFV6T0_H
#include "AliTOF.h"
class AliTOFv6T0 : public AliTOF {
public:
AliTOFv6T0();
AliTOFv6T0(const char *name, const char *title);
virtual ~AliTOFv6T0() {};
virtual void CreateGeometry();
virtual void CreateMaterials();
virtual void Init();
virtual Int_t IsVersion() const {return 8;}
virtual void AddAlignableVolumes() const;
virtual void TOFpc(Float_t xtof, Float_t ytof, Float_t zlenA);
virtual void TOFpc(Float_t, Float_t, Float_t, Float_t) {};
virtual void TOFpc(Float_t, Float_t, Float_t, Float_t, Float_t, Float_t) {};
virtual void StepManager();
protected:
void MaterialMixer(Float_t * p, const Float_t * const a,
const Float_t * const m, Int_t n) const;
private:
void CreateModules(Float_t xtof, Float_t ytof, Float_t zlenA,
Float_t xFLT, Float_t yFLT, Float_t zFLTA) const;
void MakeStripsInModules(Float_t ytof, Float_t zlenA) const;
void CreateModuleCovers(Float_t xtof, Float_t zlenA) const;
void CreateBackZone(Float_t xtof, Float_t ytof, Float_t zlenA) const;
void MakeFrontEndElectronics(Float_t xtof) const;
void MakeFEACooling(Float_t xtof) const;
void MakeNinoMask(Float_t xtof) const;
void MakeSuperModuleCooling(Float_t xtof, Float_t ytof, Float_t zlenA) const;
void MakeSuperModuleServices(Float_t xtof, Float_t ytof, Float_t zlenA) const;
void MakeModulesInBTOFvolumes(Float_t ytof, Float_t zlenA) const;
void MakeCoversInBTOFvolumes() const;
void MakeBackInBTOFvolumes(Float_t ytof) const;
void MakeReadoutCrates(Float_t ytof) const;
Int_t fIdFTOA;
Int_t fIdFTOB;
Int_t fIdFTOC;
Int_t fIdFLTA;
Int_t fIdFLTB;
Int_t fIdFLTC;
static const Bool_t fgkFEAwithMasks[18];
static const Float_t fgkModuleWallThickness;
static const Float_t fgkInterCentrModBorder1;
static const Float_t fgkInterCentrModBorder2;
static const Float_t fgkExterInterModBorder1;
static const Float_t fgkExterInterModBorder2;
static const Float_t fgkLengthInCeModBorderU;
static const Float_t fgkLengthInCeModBorderD;
static const Float_t fgkLengthExInModBorder;
static const Float_t fgkModuleCoverThickness;
static const Float_t fgkFEAwidth1;
static const Float_t fgkFEAwidth2;
static const Float_t fgkSawThickness;
static const Float_t fgkCBLw;
static const Float_t fgkCBLh1;
static const Float_t fgkCBLh2;
static const Float_t fgkBetweenLandMask;
static const Float_t fgkAl1parameters[3];
static const Float_t fgkAl2parameters[3];
static const Float_t fgkAl3parameters[3];
static const Float_t fgkRoof1parameters[3];
static const Float_t fgkRoof2parameters[3];
static const Float_t fgkFEAparameters[3];
static const Float_t fgkBar[3];
static const Float_t fgkBar1[3];
static const Float_t fgkBar2[3];
static const Float_t fgkBarS[3];
static const Float_t fgkBarS1[3];
static const Float_t fgkBarS2[3];
ClassDef(AliTOFv6T0,1)
};
#endif /* ALITOFV6T0_H */