#include "AliHLTCaloChannelDataStruct.h"
#include "AliHLTCaloCoordinate.h"
#include "Rtypes.h"
-#include "AliHLTCaloConstants.h"
+#include "AliHLTCaloConstant.h"
///comment
--- /dev/null
+//-*- Mode: C++ -*-
+// $Id: AliHLTPHOSConstants.h 34622 2009-09-04 13:22:01Z odjuvsla $
+
+/**************************************************************************
+ * This file is property of and copyright by the Experimental Nuclear *
+ * Physics Group, Dep. of Physics *
+ * University of Oslo, Norway, 2006 *
+ * *
+ * Author: Per Thomas Hille perthi@fys.uio.no for the ALICE DCS Project. *
+ * Contributors are mentioned in the code where appropriate. *
+ * Please report bugs to perthi@fys.uio.no *
+ * *
+ * Permission to use, copy, modify and distribute this software and its *
+ * documentation strictly for non-commercial purposes is hereby granted *
+ * without fee, provided that the above copyright notice appears in all *
+ * copies and that both the copyright notice and this permission notice *
+ * appear in the supporting documentation. The authors make no claims *
+ * about the suitability of this software for any purpose. It is *
+ * provided "as is" without express or implied warranty. *
+ **************************************************************************/
+
+#ifndef ALIHLTCALOCONSTANT_H
+#define ALIHLTCALOCONSTANT_H
+
+namespace CaloHLTConst
+{
+ const int MAXHOSTS = 20;
+ const int DEFAULTEVENTPORT = 42001;
+ const int MAXBINVALUE = 1023;
+ const int HIGHGAIN = 1;
+ const int LOWGAIN = 0;
+
+ const int ALTROMAXSAMPLES = 1008; /**<The maximum number of samples of the ALTRO*/
+ const int ALTROMAXPRESAMPLES = 15;
+ // const int ALTROMAXTRALERSIZE = 7;
+ // const int DDLBLOCKSIZE = 5;
+
+ const int NZROWSRCU = 56; /**<Number of rows per module*/
+ const int NXCOLUMNSRCU = 16;
+ const int NZROWSMOD = 56; /**<Number of rows per module*/
+ const int NXCOLUMNSMOD = 64; /**<Number of columns per module*/
+ const int NGAINS = 2; /**<Number of gains per ALTRO channel*/
+ const int NDATATYPES = 10;
+
+ const int PFMAXPATHLENGTH = 256;
+
+#ifndef __CINT__
+ const unsigned char PFVECTORDIR[] = "/HLT/PHOS/PFVectors";
+#endif
+
+ const int PFDEFAULTNSAMPLES = 70;
+ const int PFDEFAULTSTARTINDEX = 0;
+
+ const int DEFAULTTAU = 2; /**<Assume that the signal rise time of the altrp pulses is 2 us (nominal value of the electronics)*/
+ const int DEFAULTFS = 10; /**<Assume that the signal is samples with 10 MHZ samle rate*/
+
+ const int MODULE0 = 0;
+ const int MODULE1 = 1;
+ const int MODULE2 = 2;
+ const int MODULE3 = 3;
+ const int MODULE4 = 4;
+
+ const int CSPSPERFEE = 32;
+ const int RCU0 = 0;
+ const int RCU1 = 1;
+ const int RCU2 = 2;
+ const int RCU3 = 3;
+
+ const int Z0 = 0;
+ const int Z1 = 1;
+ const int X0 = 0;
+ const int X1 = 1;
+
+ const int NMODULES = 5; /**<Number of modules of the PHOS detector*/
+ const int NRCUS = 4; /**<Number of RCUs per Module*/
+
+ // NRCUSPERMODULE
+ const int NRCUSPERMODULE = 4 ; /**<Number of RCUs per Module*/
+ const int NRCUSPERTOTAL = NMODULES*NRCUSPERMODULE; /**<Total number of RCUs for PHOS*/
+ const int NFEECS = 14; /**<Number of Frontend cards per branch*/
+ const int NALTROS = 4; /**<Number of ALTROs per frontend card*/
+ const int NALTROCHANNELS = 16;
+ const int NBRANCHES = 2;
+}
+
+
+#endif
+
+
--- /dev/null
+#include "AliHLTCaloConstants.h"
+
+AliHLTCaloConstants::AliHLTCaloConstants()
+{
+ //Default constructor
+}
+
+AliHLTCaloConstants::~AliHLTCaloConstants()
+{
+ //Default destructor
+}
+
//-*- Mode: C++ -*-
-// $Id: AliHLTCALOConstants.h 34622 2009-09-04 13:22:01Z odjuvsla $
+// $Id: AliHLTCALOConstant.h 34622 2009-09-04 13:22:01Z odjuvsla $
/**************************************************************************
* This file is property of and copyright by the Experimental Nuclear *
* Physics Group, Dep. of Physics *
- * University of Oslo, Norway, 2006 *
+ * University of Oslo, Norway, 2009 *
* *
- * Author: Per Thomas Hille perthi@fys.uio.no for the ALICE DCS Project. *
+ * Author: Svein Lindal, slindal@fys.uio.no for the ALICE PHOS Project. *
* Contributors are mentioned in the code where appropriate. *
- * Please report bugs to perthi@fys.uio.no *
+ * Please report bugs to slindal@fys.uio.no *
* *
* Permission to use, copy, modify and distribute this software and its *
* documentation strictly for non-commercial purposes is hereby granted *
#ifndef ALIHLTCALOCONSTANTS_H
#define ALIHLTCALOCONSTANTS_H
-namespace CaloHLTConst
-{
- // const int ALTROMAXTRALERSIZE = 7;
- // const int DDLBLOCKSIZE = 5;
-
- // const int NZROWSRCU = 56; /**<Number of rows per module*/
- // const int NXCOLUMNSRCU = 16;
- // const int NZROWSMOD = 56; /**<Number of rows per module*/
- // const int NXCOLUMNSMOD = 64; /**<Number of columns per module*/
-
-
- // const int NGAINS = 2; /**<Number of gains per ALTRO channel*/
-
- const int NALTROS = 4; /**<Number of ALTROs per frontend card*/
- const int NALTROCHANNELS = 16;
- const int NBRANCHES = 2;
- const int CSPSPERFEE = 32;
- const int NGAINS = 2;
- const int HIGHGAIN = 1;
- const int LOWGAIN = 0;
- const int MAXBINVALUE = 1023;
- const int ALTROMAXSAMPLES = 1008; /**<The maximum number of samples of the ALTRO*/
- const int ALTROMAXPRESAMPLES = 15;
-
-
- // const int NDATATYPES = 10;
-
- // const int PFMAXPATHLENGTH = 256;
-
-
-#ifndef __CINT__
- const unsigned char PFVECTORDIR[] = "/HLT/PHOS/PFVectors";
-#endif
-
- // const int PFDEFAULTNSAMPLES = 70;
- // const int PFDEFAULTSTARTINDEX = 0;
-
- // const int DEFAULTTAU = 2; /**<Assume that the signal rise time of the altrp pulses is 2 us (nominal value of the electronics)*/
- // const int DEFAULTFS = 10; /**<Assume that the signal is samples with 10 MHZ samle rate*/
-
- // const int MODULE0 = 0;
- // const int MODULE1 = 1;
- // const int MODULE2 = 2;
- // const int MODULE3 = 3;
- // const int MODULE4 = 4;
-
- // const int CSPSPERFEE = 32;
-
- // const int RCU0 = 0;
- // const int RCU1 = 1;
- // const int RCU2 = 2;
- // const int RCU3 = 3;
-
-
- // const int Z0 = 0;
- // const int Z1 = 1;
- // const int X0 = 0;
- // const int X1 = 1;
-
- // const int NMODULES = 5; /**<Number of modules of the PHOS detector*/
- // const int NRCUS = 4; /**<Number of RCUs per Module*/
-
- // NRCUSPERMODULE
-
- // const int NRCUSPERMODULE = 4 ; /**<Number of RCUs per Module*/
- // const int NRCUSPERTOTAL = NMODULES*NRCUSPERMODULE; /**<Total number of RCUs for PHOS*/
- // const int NFEECS = 14; /**<Number of Frontend cards per branch*/
-
-
- const int MAXHOSTS = 20;
- const int DEFAULTEVENTPORT = 42001;
-}
+class AliHLTCaloConstants
+{
+public:
+ AliHLTCaloConstants();
+ virtual ~AliHLTCaloConstants();
+
+ virtual int GetMAXHOSTS() = 0;
+ virtual int GetDEFAULTEVENTPORT() = 0;
+ virtual int GetMAXBINVALUE() = 0;
+ virtual int GetHIGHGAIN() = 0;
+ virtual int GetLOWGAIN() = 0;
+ virtual int GetALTROMAXSAMPLES() = 0;
+ virtual int GetALTROMAXPRESAMPLES() = 0;
+ virtual int GetNZROWSRCU() = 0;
+ virtual int GetNXCOLUMNSRCU() = 0;
+ virtual int GetNZROWSMOD() = 0;
+ virtual int GetNXCOLUMNSMOD() = 0;
+ virtual int GetNGAINS() = 0;
+ virtual int GetNDATATYPES() = 0;
+ virtual int GetPFMAXPATHLENGTH() = 0;
+ virtual int GetPFDEFAULTNSAMPLES() = 0;
+ virtual int GetPFDEFAULTSTARTINDEX() = 0;
+ virtual int GetDEFAULTTAU() = 0;
+ virtual int GetDEFAULTFS() = 0;
+ virtual int GetMODULE0() = 0;
+ virtual int GetMODULE1() = 0;
+ virtual int GetMODULE2() = 0;
+ virtual int GetMODULE3() = 0;
+ virtual int GetMODULE4() = 0;
+ virtual int GetCSPSPERFEE() = 0;
+ virtual int GetRCU0() = 0;
+ virtual int GetRCU1() = 0;
+ virtual int GetRCU2() = 0;
+ virtual int GetRCU3() = 0;
+ virtual int GetZ0() = 0;
+ virtual int GetZ1() = 0;
+ virtual int GetX0() = 0;
+ virtual int GetX1() = 0;
+ virtual int GetNMODULES() = 0;
+ virtual int GetNRCUS() = 0;
+ virtual int GetNRCUSPERMODULE() = 0;
+ virtual int GetNRCUSPERTOTAL() = 0;
+ virtual int GetNFEECS() = 0;
+ virtual int GetNALTROS() = 0;
+ virtual int GetNALTROCHANNELS() = 0;
+ virtual int GetNBRANCHES() = 0;
+ virtual float GetCELLSTEP() = 0;
+
+// #ifndef __CINT__
+// const unsigned char PFVECTORDIR[] = "/HLT/PHOS/PFVectors";
+// #endif
+
+
+
+
+};
#endif
-
-
--- /dev/null
+// $Id: AliHLTCaloConstantsHandler.cxx 34223 2009-08-12 07:55:37Z richterm $
+
+//**************************************************************************
+//* This file is property of and copyright by the ALICE HLT Project *
+//* ALICE Experiment at CERN, All rights reserved. *
+//* *
+//* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
+//* for The ALICE HLT Project. *
+//* *
+//* Permission to use, copy, modify and distribute this software and its *
+//* documentation strictly for non-commercial purposes is hereby granted *
+//* without fee, provided that the above copyright notice appears in all *
+//* copies and that both the copyright notice and this permission notice *
+//* appear in the supporting documentation. The authors make no claims *
+//* about the suitability of this software for any purpose. It is *
+//* provided "as is" without express or implied warranty. *
+//**************************************************************************
+
+/// @file AliHLTCaloConstantsHandler.h
+/// @author Svein Lindal
+/// @date 2009-10-21
+/// @brief Handler class that helps create an instance of the right
+/// AliHLTCaloConstants child class
+/// (e.g. AliHLTPHOSConstants or AliHLTEMCALConstants)
+
+
+#include "TString.h"
+#include "AliHLTCaloConstantsHandler.h"
+#include "AliHLTCaloConstants.h"
+#include "AliHLTMisc.h"
+
+AliHLTCaloConstantsHandler::AliHLTCaloConstantsHandler(TString det):
+ fCaloConstants(NULL)
+{
+ if (det.CompareTo("PHOS") == 0) {
+ fCaloConstants = AliHLTMisc::LoadInstance( (AliHLTCaloConstants*) NULL, "AliHLTPHOSConstants", "PHOS");
+ } else {
+ fCaloConstants = AliHLTMisc::LoadInstance( (AliHLTCaloConstants*) NULL, "AliHLTEMCALConstants", "EMCAL");
+ }
+}
+
+
+AliHLTCaloConstantsHandler::~AliHLTCaloConstantsHandler()
+{
+ //Default destructor
+}
--- /dev/null
+//-*- Mode: C++ -*-
+// $Id: AliHLTCALOConstantsHandler.h 34622 2009-09-04 13:22:01Z odjuvsla $
+
+
+//* This file is property of and copyright by the ALICE HLT Project *
+//* ALICE Experiment at CERN, All rights reserved. *
+//* See cxx source for full Copyright notice */
+
+/// @file AliHLTCaloConstantsHandler.h
+/// @author Svein Lindal
+/// @date
+/// @brief Handler class that helps create an instance of the right
+/// AliHLTCaloConstants child class
+/// (e.g. AliHLTPHOSConstants or AliHLTEMCALConstants)
+
+
+#ifndef ALIHLTCALOCONSTANTSHANDLER_H
+#define ALIHLTCALOCONSTANTSHANDLER_H
+
+class AliHLTCaloConstants;
+class TString;
+
+class AliHLTCaloConstantsHandler
+{
+public:
+ AliHLTCaloConstantsHandler(TString det);
+ virtual ~AliHLTCaloConstantsHandler();
+
+protected:
+ AliHLTCaloConstants* fCaloConstants;
+
+private:
+ /** Keep the standard constructor private, since we must alway initialize by specific calorimeter**/
+ AliHLTCaloConstantsHandler();
+
+ /** Keep the copy constructor private since it should not be used */
+ AliHLTCaloConstantsHandler(const AliHLTCaloConstantsHandler & );
+
+ /** Keep the assignement operator private since it should not be used */
+ AliHLTCaloConstantsHandler & operator = (const AliHLTCaloConstantsHandler &);
+
+
+ void Initialize(TString det);
+
+};
+
+#endif
#include "AliHLTCaloRcuFFTDataStruct.h"
//using namespace PhosHLTConst;
-using namespace CaloHLTConst;
+//using namespace CaloHLTConst;
using namespace std;
#include "unistd.h"
#include <iostream>
#include "AliHLTCaloCoordinate.h"
-
-using namespace CaloHLTConst;
+#include "AliHLTCaloConstantsHandler.h"
+#include "AliHLTCaloConstants.h"
//ClassImp(AliHLTCaloMapper)
-AliHLTCaloMapper::AliHLTCaloMapper( const unsigned long specification ) : AliHLTLogging(),
- fHw2geomapPtr(0),
- fCellSize(0),
- fSpecification(specification),
- fIsInitializedMapping(false),
- fSpecificationMapPtr(0)
+AliHLTCaloMapper::AliHLTCaloMapper( const unsigned long specification , TString det) :
+ AliHLTLogging(),
+ AliHLTCaloConstantsHandler(det),
+ fHw2geomapPtr(0),
+ fCellSize(0),
+ fSpecification(specification),
+ fIsInitializedMapping(false),
+ fSpecificationMapPtr(0)
{
//see header file for class documentation
}
}
+int
+AliHLTCaloMapper::GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd)
+{
+ Short_t index = GetDDLFromSpec(spec);
+ if( index < 0 )
+ {
+ // HLTError("Specification 0x%X not consistent with single DDL in PHOS", spec);
+ return index;
+ }
+ else
+ {
+ return ((fHw2geomapPtr[hadd].fXCol ) |
+ ((fHw2geomapPtr[hadd].fZRow ) << 6) |
+ (fHw2geomapPtr[hadd].fGain << 12) |
+ fSpecificationMapPtr[index].fModId << 13);
+ }
+}
+
+
+
+// UShort_t
+// AliHLTCaloMapper::GetChannelID(Int_t specification, Int_t hwAddress)
+// {
+
+// Short_t index = 0;
+
+// if(specification == 0x00001) index = 0;
+// else if(specification == 0x00002) index = 1;
+// else if(specification == 0x00004) index = 2;
+// else if(specification == 0x00008) index = 3;
+
+// else if(specification == 0x00010) index = 4;
+// else if(specification == 0x00020) index = 5;
+// else if(specification == 0x00040) index = 6;
+// else if(specification == 0x00080) index = 7;
+
+// else if(specification == 0x00100) index = 8;
+// else if(specification == 0x00200) index = 9;
+// else if(specification == 0x00400) index = 10;
+// else if(specification == 0x00800) index = 11;
+
+// else if(specification == 0x01000) index = 12;
+// else if(specification == 0x02000) index = 13;
+// else if(specification == 0x04000) index = 14;
+// else if(specification == 0x08000) index = 15;
+
+// else if(specification == 0x10000) index = 16;
+// else if(specification == 0x20000) index = 17;
+// else if(specification == 0x40000) index = 18;
+// else if(specification == 0x80000) index = 19;
+
+// else HLTError("Specification 0x%X not consistent with single DDL in PHOS", specification);
+// // HLTError("Channel ID: 0x%X Coordinates: x = %d, z = %d, gain = %d", ((fHw2geomapPtr[hwAddress].fXCol + fSpecificationMapPtr[index].fRcuXOffset) |((fHw2geomapPtr[hwAddress].fZRow + fSpecificationMapPtr[index].fRcuZOffset) << 6) | (fHw2geomapPtr[hwAddress].fGain << 12) | fSpecificationMapPtr[index].fModId << 13),
+// // fHw2geomapPtr[hwAddress].fXCol,
+// // fHw2geomapPtr[hwAddress].fZRow,
+// // fHw2geomapPtr[hwAddress].fGain);
+// return ((fHw2geomapPtr[hwAddress].fXCol + fSpecificationMapPtr[index].fRcuXOffset) |
+// ((fHw2geomapPtr[hwAddress].fZRow + fSpecificationMapPtr[index].fRcuZOffset) << 6) |
+// (fHw2geomapPtr[hwAddress].fGain << 12) |
+// fSpecificationMapPtr[index].fModId << 13);
+// }
+
+
+void
+AliHLTCaloMapper::GetChannelCoord(const UShort_t channelId, UShort_t* channelCoord)
+{
+ channelCoord[0] = channelId&0x3f;
+ channelCoord[1] = (channelId >> 6)&0x3f;
+ channelCoord[2] = (channelId >> 12)&0x1;
+ channelCoord[3] = (channelId >> 13)&0x1f;
+ // printf("Channel ID: 0x%X Coordinates: x = %d, z = %d, gain = %d\n", channelId, channelCoord[0], channelCoord[1], channelCoord[2]);
+}
+
void
AliHLTCaloMapper::ChannelId2Coordinate(const int channelId, AliHLTCaloCoordinate &channelCoord)
{
}
+void
+AliHLTCaloMapper::GetLocalCoord(const int channelId, Float_t* localCoord) const
+{
+ localCoord[0] = (static_cast<Float_t>(channelId&0x3f) - fCaloConstants->GetNXCOLUMNSMOD()/2)* fCaloConstants->GetCELLSTEP();
+ localCoord[1] = (static_cast<Float_t>((channelId >> 6)&0x3f) - fCaloConstants->GetNZROWSMOD()/2) * fCaloConstants->GetCELLSTEP();
+ // printf("Local coordinates: x = %f, z = %f\n", channelCoord[0], channelCoord[1]);
+}
+
+
int
AliHLTCaloMapper::GetDDLFromSpec( const AliHLTUInt32_t spec )
{
}
-
-// UInt_t
-// AliHLTCaloMapper::GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd)
-int
-AliHLTCaloMapper::GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd)
+Int_t
+AliHLTCaloMapper::GetModuleFromSpec(Int_t specification)
{
- Short_t index = GetDDLFromSpec(spec);
- if( index < 0 )
- {
- // HLTError("Specification 0x%X not consistent with single DDL in PHOS", spec);
- return index;
- }
- else
- {
- return ((fHw2geomapPtr[hadd].fXCol ) |
- ((fHw2geomapPtr[hadd].fZRow ) << 6) |
- (fHw2geomapPtr[hadd].fGain << 12) |
- fSpecificationMapPtr[index].fModId << 13);
- }
+ Int_t module = -1;
+
+ if(specification & 0xf) module = 0;
+ else if((specification >> 4) & 0xf) module = 1;
+ else if((specification >> 8) & 0xf) module = 2;
+ else if((specification >> 12) & 0xf) module = 3;
+ else if((specification >> 16) & 0xf) module = 4;
+
+ else HLTError("Specification 0x%X not consistent with single module in PHOS", specification);
+
+ return module;
}
-
unsigned long
AliHLTCaloMapper::GetSpecFromDDLIndex( const int ddlindex )
{
#include "AliHLTCaloConstants.h"
#include "Rtypes.h"
#include "AliHLTLogging.h"
-
-using namespace CaloHLTConst;
-
+#include "AliHLTCaloConstantsHandler.h"
class AliHLTCaloCoordinate;
+class AliHLTCaloConstants;
-class AliHLTCaloMapper : public AliHLTLogging
+class AliHLTCaloMapper : public AliHLTLogging, public AliHLTCaloConstantsHandler
{
public:
- AliHLTCaloMapper(const unsigned long speficication);
+ AliHLTCaloMapper(TString det);
+ AliHLTCaloMapper(const unsigned long specification, TString det);
virtual ~AliHLTCaloMapper();
virtual void InitAltroMapping( const unsigned long specification ) = 0;
virtual void InitDDLSpecificationMapping() = 0;
bool GetIsInitializedMapping();
char* GetFilePath();
- int GetDDLFromSpec( const AliHLTUInt32_t spec );
- static unsigned long GetSpecFromDDLIndex( const int ddlindex );
- // UInt_t GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd);
+
int GetChannelID(const AliHLTUInt32_t spec, const Int_t hadd);
+ void GetChannelCoord(const UShort_t channelId, UShort_t* channelCoord);
static void ChannelId2Coordinate(const int channelId, AliHLTCaloCoordinate &channelCoord);
-
- // static void GetLocalCoord(const int channelId, Float_t* localCoord) = 0;
+ virtual void GetLocalCoord(const int channelId, Float_t* localCoord) const;
+ int GetDDLFromSpec( const AliHLTUInt32_t spec );
+ int GetModuleFromSpec(Int_t specification);
+ static unsigned long GetSpecFromDDLIndex( const int ddlindex );
- virtual void GetLocalCoord(const int channelId, Float_t* localCoord) const = 0;
struct fAltromap{
char fZRow; // Coordinate in Z direction (beam direction) relatve to one Module
#include "AliRawReaderMemory.h"
#include "AliAltroRawStreamV3.h"
#include "AliCaloRawStreamV3.h"
+#include "AliHLTCaloConstantsHandler.h"
+#include "AliHLTCaloConstants.h"
-AliHLTCaloRawAnalyzerComponentv3::AliHLTCaloRawAnalyzerComponentv3():
+AliHLTCaloRawAnalyzerComponentv3::AliHLTCaloRawAnalyzerComponentv3(TString det):
+ AliHLTCaloConstantsHandler(det),
AliHLTProcessor(),
fAnalyzerPtr(0),
fMapperPtr(0),
// if( fkDoPushRawData == true )
{
- fRawDataWriter = new RawDataWriter();
+ fRawDataWriter = new RawDataWriter(fCaloConstants);
}
fAltroRawStreamPtr = new AliCaloRawStreamV3(fRawReaderMemoryPtr, TString("EMCAL"));
-AliHLTCaloRawAnalyzerComponentv3::RawDataWriter::RawDataWriter() : //fIsFirstChannel(true),
+AliHLTCaloRawAnalyzerComponentv3::RawDataWriter::RawDataWriter(AliHLTCaloConstants* cConst) : //fIsFirstChannel(true),
fRawDataBuffer(0),
fCurrentChannelSize(0),
// fIsFirstChannel(true),
fBufferIndex(0),
// fBufferSize( NZROWSRCU*NXCOLUMNSRCU*ALTROMAXSAMPLES*NGAINS +1000 ),
- fBufferSize( 64*56*ALTROMAXSAMPLES*NGAINS +1000 ),
+ fBufferSize( 64*56*cConst->GetNGAINS()*cConst->GetALTROMAXSAMPLES() +1000 ),
fCurrentChannelIdPtr(0),
fCurrentChannelSizePtr(0),
fCurrentChannelDataPtr(0),
#include "AliHLTProcessor.h"
#include "AliHLTCaloDefinitions.h"
+#include "AliHLTCaloConstantsHandler.h"
+class AliHLTCaloConstants;
class AliHLTCaloMapper;
//class AliHLTCaloRawAnalyzerComponentv3 : public AliHLTCaloRcuProcessor
-class AliHLTCaloRawAnalyzerComponentv3 : public AliHLTProcessor
+class AliHLTCaloRawAnalyzerComponentv3 : public AliHLTCaloConstantsHandler, public AliHLTProcessor
{
public:
- /** Standard constructor */
- AliHLTCaloRawAnalyzerComponentv3();
+ /** Constructor must be initialized to specific calorimeter */
+ AliHLTCaloRawAnalyzerComponentv3(TString det);
+
+
/** Destructor */
virtual ~AliHLTCaloRawAnalyzerComponentv3();
AliHLTCaloMapper *fMapperPtr;
private:
+/** Keep default constructor private since it should not be used */
+ AliHLTCaloRawAnalyzerComponentv3();
+
/** Keep the copy constructor private since it should not be used */
AliHLTCaloRawAnalyzerComponentv3(const AliHLTCaloRawAnalyzerComponentv3 & );
class RawDataWriter
{
public:
- RawDataWriter();
+ RawDataWriter(AliHLTCaloConstants* cConst);
~RawDataWriter();
// void WriteChannelId(const UShort_t channeldid );
void NewChannel( );
void NewEvent();
private:
+
+ //Default constructor, should not be used.
+ RawDataWriter();
RawDataWriter (const RawDataWriter & );
RawDataWriter & operator = (const RawDataWriter &);
void Init();
//AliHLTCaloRawAnalyzerCrudeComponent gAliHLTCaloRawAnalyzerCrudeComponent;
//___________________________________________________________________________
-AliHLTCaloRawAnalyzerCrudeComponent::AliHLTCaloRawAnalyzerCrudeComponent()
+AliHLTCaloRawAnalyzerCrudeComponent::AliHLTCaloRawAnalyzerCrudeComponent(TString det) :
+AliHLTCaloRawAnalyzerComponentv3(det)
{
fAnalyzerPtr = new AliHLTCaloRawAnalyzerCrude();
}
}
//___________________________________________________________________________
-AliHLTCaloRawAnalyzerCrudeComponent::AliHLTCaloRawAnalyzerCrudeComponent(const AliHLTCaloRawAnalyzerCrudeComponent & ):AliHLTCaloRawAnalyzerComponentv3()
+AliHLTCaloRawAnalyzerCrudeComponent::AliHLTCaloRawAnalyzerCrudeComponent(const AliHLTCaloRawAnalyzerCrudeComponent &, TString det ):
+AliHLTCaloRawAnalyzerComponentv3(det)
{
}
class AliHLTCaloRawAnalyzerCrudeComponent: public AliHLTCaloRawAnalyzerComponentv3
{
public:
- AliHLTCaloRawAnalyzerCrudeComponent();
+ AliHLTCaloRawAnalyzerCrudeComponent(TString det);
virtual ~AliHLTCaloRawAnalyzerCrudeComponent();
- AliHLTCaloRawAnalyzerCrudeComponent(const AliHLTCaloRawAnalyzerCrudeComponent & );
+ AliHLTCaloRawAnalyzerCrudeComponent(const AliHLTCaloRawAnalyzerCrudeComponent &, TString det );
// AliHLTCaloRawAnalyzerCrudeComponent & operator = (const AliHLTCaloRawAnalyzerCrudeComponent)
// {
// return *this;
virtual int Deinit();
virtual const char* GetComponentID();
virtual AliHLTComponent* Spawn() = 0;
+
+private:
+ AliHLTCaloRawAnalyzerCrudeComponent();
};
#endif
//AliHLTCaloRawAnalyzerPeakFinderComponent gAliHLTCaloRawAnalyzerPeakFinderComponent;
//___________________________________________________________________________________________________________
-AliHLTCaloRawAnalyzerPeakFinderComponent::AliHLTCaloRawAnalyzerPeakFinderComponent():AliHLTCaloRawAnalyzerComponentv3()
+AliHLTCaloRawAnalyzerPeakFinderComponent::AliHLTCaloRawAnalyzerPeakFinderComponent(TString det) :
+AliHLTCaloRawAnalyzerComponentv3(det)
{
fAnalyzerPtr = new AliHLTCaloRawAnalyzerPeakFinder();
//___________________________________________________________________________________________________________
-AliHLTCaloRawAnalyzerPeakFinderComponent::AliHLTCaloRawAnalyzerPeakFinderComponent(const AliHLTCaloRawAnalyzerPeakFinderComponent & ) : AliHLTCaloRawAnalyzerComponentv3()
+AliHLTCaloRawAnalyzerPeakFinderComponent::AliHLTCaloRawAnalyzerPeakFinderComponent(const AliHLTCaloRawAnalyzerPeakFinderComponent &, TString det) :
+AliHLTCaloRawAnalyzerComponentv3(det)
{
}
class AliHLTCaloRawAnalyzerPeakFinderComponent: public AliHLTCaloRawAnalyzerComponentv3
{
public:
- AliHLTCaloRawAnalyzerPeakFinderComponent();
+ AliHLTCaloRawAnalyzerPeakFinderComponent(TString det);
virtual ~AliHLTCaloRawAnalyzerPeakFinderComponent();
virtual int Deinit();
virtual Bool_t LoadPFVector() { return true; };
virtual Bool_t LoadPFVector(const int /*startindex*/, const int /*Nsamples*/, const int /*tau*/, const int /*fs*/) { return true; };
- AliHLTCaloRawAnalyzerPeakFinderComponent(const AliHLTCaloRawAnalyzerPeakFinderComponent & );
+ AliHLTCaloRawAnalyzerPeakFinderComponent(const AliHLTCaloRawAnalyzerPeakFinderComponent &, TString det );
/*
AliHLTCaloRawAnalyzerPeakFinderComponent & operator = (const AliHLTCaloRawAnalyzerPeakFinderComponent)
return *this;
};
*/
+
+private:
+ AliHLTCaloRawAnalyzerPeakFinderComponent();
};
#include "Rtypes.h"
-#include "AliHLTCaloConstants.h"
+#include "AliHLTCaloConstant.h"
using namespace CaloHLTConst;
#include "AliHLTEMCALDefinitions.h"
-AliHLTEMCALRawAnalyzerComponent::AliHLTEMCALRawAnalyzerComponent() : AliHLTCaloRawAnalyzerComponentv3()
+AliHLTEMCALRawAnalyzerComponent::AliHLTEMCALRawAnalyzerComponent() :
+AliHLTCaloRawAnalyzerComponentv3("EMCAL")
{
AliHLTCaloDefinitions.h \
AliHLTCaloSanityInspector.h \
AliHLTCaloSharedMemoryInterfacev2.h \
-AliHLTCaloFourier.h
+AliHLTCaloFourier.h \
+AliHLTCaloConstants.h \
+AliHLTCaloConstantsHandler.h
+##AliHLTCaloClusterizer.h \
+##AliHLTCaloDigitMaker.h \
+##AliHLTCaloClusterAnalyser.h
## all source files of this module
MODULE_SRCS= $(CLASS_HDRS:.h=.cxx)
## all header files of this module
-MODULE_HDRS:= $(CLASS_HDRS) \
- AliHLTCaloConstants.h
-
+MODULE_HDRS:= $(CLASS_HDRS) \
+ AliHLTCaloConstant.h
+## AliHLTCaloDigitDataStruct.h \
+## AliHLTCaloDigitContainerDataStruct.h \
+## AliHLTCaloRecPointDataStruct.h \
+## AliHLTCaloRecPointContainerStruct.h \
+## AliHLTCaloRecPointHeaderStruct.h \
+## AliHLTCaloChannelDataStruct.h \
+## AliHLTCaloChannelDataHeaderStruct.h
## the link def file for this module
## generated automatically if empty
AliHLTPHOSCoordinate.h \
AliHLTPHOSChannelRawDataStruct.h
-MODULE_DHDR:= AliHLTPHOSLinkDef.h
+##Left empty for auto generation:
+MODULE_DHDR:=
EINCLUDE := HLT/BASE HLT/BASE/util STEER RAW PHOS