16#include "FairDetector.h"
18#include "TClonesArray.h"
19#include "TLorentzVector.h"
29#define kNumberOfECALSensitiveVolumes 6
32class ecal :
public FairDetector
45 ecal(
const char* name, Bool_t active,
46 const char* fileGeo=
"ecal_Detailed.geo");
72 virtual void Print()
const;
73 virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2, Int_t offset);
94 TVector3 mom, Double_t time, Double_t length,
95 Double_t eLoss, Int_t pdgcode);
260 fPos.SetXYZM(0.0, 0.0, 0.0, 0.0);
261 fMom.SetXYZM(0.0, 0.0, 0.0, 0.0);
Bool_t FillLitePoint(Int_t volnum)
virtual void Print() const
virtual void Initialize()
virtual void SetSpecialPhysicsCuts()
Int_t fCF[cMaxModuleType]
ecal & operator=(const ecal &)
virtual void FinishPrimary()
virtual void BeginEvent()
std::list< std::pair< Int_t, TGeoVolume * > > fRawNumber
Number of mudules with type.
Int_t InitMedium(const char *name)
void ConstructTile(Int_t type, Int_t material)
ecalLightMap * fLightMaps[cMaxModuleType]
TGeoVolume * fHoleVol[3]
Tyvek sheets.
Float_t fYCell[cMaxModuleType]
virtual Bool_t ProcessHits(FairVolume *vol=NULL)
void ConstructCellSimple(Int_t type)
TClonesArray * fLiteCollection
Int_t GetVolType(Int_t volnum)
void ConstructCell(Int_t type)
TGeoVolume * fTileEdging[cMaxModuleType]
Pb tiles.
virtual void ChangeHit(ecalPoint *oldHit=NULL)
TGeoVolume * fSteelTapes[2]
Fiber volume.
virtual void ConstructGeometry()
Int_t fVolArr[kNumberOfECALSensitiveVolumes]
TGeoTranslation ** fHolePos[cMaxModuleType]
Steel tapes.
ecalPoint * AddHit(Int_t trackID, Int_t detID, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Double_t eLoss, Int_t pdgcode)
TGeoVolume * ConstructRaw(Int_t number)
Float_t fXCell[cMaxModuleType]
TGeoVolume * fCells[cMaxModuleType]
Calorimeter Modules.
static Bool_t GetCellCoord(Int_t fVolumeID, Float_t &x, Float_t &y, Int_t &tenergy)
TString fLightMapNames[cMaxModuleType]
void ConstructModule(Int_t type)
void SetEcalCuts(Int_t medium)
TGeoVolume * fPbTiles[cMaxModuleType]
Edging of scintillator tiles.
TGeoVolume * fScTiles[cMaxModuleType]
Calorimeter Cells.
Int_t fNH[cMaxModuleType]
void ConstructTileSimple(Int_t type, Int_t material)
ecalPoint * AddLiteHit(Int_t trackID, Int_t detID, Double32_t time, Double32_t eLoss)
TGeoVolume * fTvTiles[cMaxModuleType]
Scintillator tiles.
virtual void EndOfEvent()
Int_t fStructureId
List of constructed raws.
TGeoVolume * fModules[cMaxModuleType]
TGeoVolume * fFiberVol[3]
Hole volume.
ecalPoint * FindHit(Int_t VolId, Int_t TrackId)
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
static Bool_t GetCellCoordInf(Int_t fVolumeID, Float_t &x, Float_t &y, Int_t &tenergy)
void ConstructModuleSimple(Int_t type)
TClonesArray * fEcalCollection
Int_t fModulesWithType[cMaxModuleType]
Positions of holes.
virtual TClonesArray * GetCollection(Int_t iColl) const
static Bool_t GetCellCoordForPy(Int_t fVolID, TVector3 &all)
const Int_t cMaxModuleType
#define kNumberOfECALSensitiveVolumes