* See cxx source for full Copyright notice */
/* $Id$ */
-
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.43 2007/03/10 22:19:01 pavlinov
+ * move one varibels from AliEMCALv2 to AliEMCAL
+ *
+ * Revision 1.42 2007/02/24 20:42:35 pavlinov
+ * fixed error of Geant3 parameters initialisation
+ *
+ * Revision 1.41 2007/02/05 10:43:25 hristov
+ * Changes for correct initialization of Geant4 (Mihaela)
+ *
+ * Revision 1.40 2006/12/05 17:19:26 gustavo
+ * Updated AliEMCAL::Digits2Raw, reads first provisional RCU mapping files to make Raw data with new AliCaloAltroMapping and AliCaloRawStream
+ *
+ *
+ */
//_________________________________________________________________________
// Base Class for EMCAL
+// holds all geant information of
+// materials, etc.
//
-//*-- Author: Yves Schutz (SUBATECH)
-
-#include <assert.h>
+//*-- Author: Yves Schutz (SUBATECH)
// --- ROOT system ---
+
class TString ;
-class TClonesArray ;
+class TTask ;
+class TFolder ;
+class TRandom ;
+class TGraph;
+class TF1;
// --- AliRoot header files ---
-#include <stdlib.h>
+class AliRawReader;
#include "AliDetector.h"
-#include "AliEMCALGeometry.h"
-class AliEMCALGeometry ;
+#include "AliEMCALGeometry.h"
+#include "AliEMCALTrigger.h"
class AliEMCAL : public AliDetector {
public:
-
+
AliEMCAL();
AliEMCAL(const char* name, const char* title="");
- AliEMCAL(const AliEMCAL & emcal) {
- // cpy ctor: no implementation yet
- // requested by the Coding Convention
- abort() ;
- }
+
virtual ~AliEMCAL() ;
virtual void AddHit(Int_t, Int_t*, Float_t *) {
- // do not use this definition but the one below
- abort() ;
+ Fatal("AddHit(Int_t, Int_t*, Float_t *", "not to be used: use AddHit( Int_t shunt, Int_t primary, Int_t track,Int_t id, Float_t *hits )") ;
}
- virtual void AddHit( Int_t shunt, Int_t primary, Int_t track,
- Int_t id, Float_t *hits ) = 0 ;
+ virtual AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
+ virtual void CreateMaterials() ;
+ virtual void Init() ;
+ virtual void Digits2Raw();
+
+ virtual void FinishRun() {}
+ virtual AliEMCALGeometry * GetGeometry() const
+ {return AliEMCALGeometry::GetInstance(GetTitle(),"") ; }
+ virtual void Hits2SDigits();
+ virtual Int_t IsVersion(void) const = 0 ;
+
+ virtual AliTriggerDetector* CreateTriggerDetector() const
+ { return new AliEMCALTrigger(); }
+ //
+ virtual AliLoader* MakeLoader(const char* topfoldername);
+ virtual const TString Version() const {return TString(" ") ; }
- virtual void CreateMaterials() ;
- virtual AliEMCALGeometry * GetGeometry() = 0 ;
- Int_t IsVersion(void) const { return -1 ; }
- virtual void SetTreeAddress() ;
- virtual TString Version() {return TString(" ") ; }
- AliEMCAL & operator = (const AliEMCAL & rvalue) {
- // assignement operator requested by coding convention
- // but not needed
- abort() ;
- return *this ;
- }
-
protected:
+ void InitConstants(); //initializes some params
+ void DefineMediumParameters(); // define tracking medium parameters
+
+ Int_t fBirkC0; // constants for Birk's Law implementation
+ Double_t fBirkC1; // constants for Birk's Law implementation
+ Double_t fBirkC2; // constants for Birk's Law implementation
- AliEMCALGeometry * fGeom ; // Geometry definition
+ AliEMCALGeometry* fGeometry; //!
- ClassDef(AliEMCAL,1) // Electromagnetic calorimeter (base class)
+private:
+ AliEMCAL(const AliEMCAL& emcal);
+ AliEMCAL & operator = (const AliEMCAL & /*rvalue*/);
+ ClassDef(AliEMCAL,10) // Electromagnetic calorimeter (base class)
+
} ;
#endif // ALIEMCAL_H