+// $Id$
+
/**************************************************************************
* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
* *
**************************************************************************/
#include "AliHLTPHOSRawAnalyzerPeakFinderComponent.h"
-#include "AliHLTPHOSRawAnalyzerPeakFinder.h"
-#include <cstdlib>
-#include "AliHLTPHOSCommonDefs.h"
+#include "AliHLTCaloRawAnalyzerPeakFinder.h"
-//ClassImp(AliHLTPHOSRawAnalyzerPeakFinderComponent)
AliHLTPHOSRawAnalyzerPeakFinderComponent gAliHLTPHOSRawAnalyzerPeakFinderComponent;
-AliHLTPHOSRawAnalyzerPeakFinderComponent::AliHLTPHOSRawAnalyzerPeakFinderComponent():AliHLTPHOSRawAnalyzerComponent()
+//___________________________________________________________________________________________________________
+AliHLTPHOSRawAnalyzerPeakFinderComponent::AliHLTPHOSRawAnalyzerPeakFinderComponent():AliHLTPHOSRawAnalyzerComponentv3()
{
- char tmpPFPath[PF_MAX_PATH_LENGTH];
- cout <<"ALICE_ROOT ="<<getenv("ALICE_ROOT") << endl;
-
- Double_t tmpAVector[PF_DEFAULT_N_SAMPLES];
- Double_t tmpTVector[PF_DEFAULT_N_SAMPLES];
- analyzerPtr = new AliHLTPHOSRawAnalyzerPeakFinder();
- analyzerPtr->SetStartIndex(PF_DEFAULT_STARTINDEX);
-
- sprintf(tmpPFPath,"%s%s/start%dN%dtau%dfs%d.txt", getenv("ALICE_ROOT"), PF_VECTOR_DIR, PF_DEFAULT_STARTINDEX, PF_DEFAULT_N_SAMPLES, DEFAULT_TAU, DEFAULT_FS);
-
- cout <<"PF PATH =" << tmpPFPath << endl;
+ fAnalyzerPtr = new AliHLTCaloRawAnalyzerPeakFinder();
- FILE *fp;
-
- fp = fopen(tmpPFPath, "r");
-
- if(fp != 0)
+ if(1)//LoadPFVector() == kFALSE)
{
- for(int i=0; i < PF_DEFAULT_N_SAMPLES; i++)
- {
- fscanf(fp, "%lf", &tmpAVector[i]);
- }
-
-
- fscanf(fp, "\n");
-
- for(int i=0; i < PF_DEFAULT_N_SAMPLES; i++)
- {
- fscanf(fp, "%lf", &tmpTVector[i]);
- }
-
- analyzerPtr->SetAVector(tmpAVector, PF_DEFAULT_N_SAMPLES);
- analyzerPtr->SetTVector(tmpTVector, PF_DEFAULT_N_SAMPLES);
-
- fclose(fp);
-
+ // cout << "Warning, could not load PF vectors" << endl;
}
-
- else
+ else
{
- HLTFatal("ERROR: could not open PF vector file");
- // cout <<"AliHLTPHOSRawAnalyzerPeakFinderComponent, ERROR: could not open PF vector file" << endl;
+ // cout << "Loaded PF vectors" << endl;
}
-
-
}
+
+//___________________________________________________________________________________________________________
AliHLTPHOSRawAnalyzerPeakFinderComponent::~AliHLTPHOSRawAnalyzerPeakFinderComponent()
{
+ if(fAnalyzerPtr)
+ {
+ delete fAnalyzerPtr;
+ fAnalyzerPtr = 0;
+ }
}
-
-AliHLTPHOSRawAnalyzerPeakFinderComponent::AliHLTPHOSRawAnalyzerPeakFinderComponent(const AliHLTPHOSRawAnalyzerPeakFinderComponent & ) : AliHLTPHOSRawAnalyzerComponent()
+//___________________________________________________________________________________________________________
+AliHLTPHOSRawAnalyzerPeakFinderComponent::AliHLTPHOSRawAnalyzerPeakFinderComponent(const AliHLTPHOSRawAnalyzerPeakFinderComponent & ) : AliHLTPHOSRawAnalyzerComponentv3()
{
}
+//-----------------------------------------------------------------------------------------------------------
+int
+AliHLTPHOSRawAnalyzerPeakFinderComponent::Deinit()
+{
+
+ if(fAnalyzerPtr)
+ {
+ delete fAnalyzerPtr;
+ fAnalyzerPtr = 0;
+ }
+ Logging(kHLTLogInfo, "HLT", "PHOS", ",AliHLTPHOSRawAnalyzerCrudeComponent Deinit");
+ return 0;
+}
+//___________________________________________________________________________________________________________
const char*
AliHLTPHOSRawAnalyzerPeakFinderComponent::GetComponentID()
{
- //cout << "AliHLTPHOSRawAnalyzerPeakFinderComponent returning ID" << endl;
return "PhosRawPeakFinder";
}
+//___________________________________________________________________________________________________________
+Bool_t
+AliHLTPHOSRawAnalyzerPeakFinderComponent::LoadPFVector()
+{
+ return LoadPFVector(fCaloConstants->GetPFDEFAULTSTARTINDEX(), fCaloConstants->GetPFDEFAULTNSAMPLES(),
+ fCaloConstants->GetDEFAULTTAU(), fCaloConstants->GetDEFAULTFS() );
+}
+
+
+//___________________________________________________________________________________________________________
+Bool_t
+AliHLTPHOSRawAnalyzerPeakFinderComponent::LoadPFVector(int startIndex, int nSamples, int tau, int fs)
+{
+
+ char tmpPFPath[fCaloConstants->GetPFMAXPATHLENGTH()];
+ Double_t * tmpAVector = new Double_t[nSamples];
+ Double_t * tmpTVector = new Double_t[nSamples];
+ sprintf(tmpPFPath,"%s%s/start%dN%dtau%dfs%d.txt", getenv("ALICE_ROOT"), PFVECTORDIR, startIndex, nSamples, tau, fs);
+ FILE *fp;
+ fp = fopen(tmpPFPath, "r");
+
+ Int_t res = 0; //OD to get rid of warnings
+ if(fp != 0)
+ {
+ for(int i=0; i < nSamples; i++)
+ {
+ res = fscanf(fp, "%lf", &tmpAVector[i]);
+ }
+
+ res = fscanf(fp, "\n");
+
+ for(int i=0; i < nSamples; i++)
+ {
+ res = fscanf(fp, "%lf", &tmpTVector[i]);
+ }
+ // fAnalyzerPtr->SetAVector(tmpAVector, nSamples);
+ // fAnalyzerPtr->SetTVector(tmpTVector, nSamples);
+ fclose(fp);
+ delete [] tmpAVector;
+ delete [] tmpTVector;
+ return kTRUE;
+ }
+
+ else
+ {
+ delete [] tmpAVector;
+ delete [] tmpTVector;
+ HLTFatal("ERROR: could not open PF vector file");
+ return kFALSE;
+ }
+}
+
+//___________________________________________________________________________________________________________
AliHLTComponent*
AliHLTPHOSRawAnalyzerPeakFinderComponent::Spawn()
{
- // cout << "AliHLTPHOSRawAnalyzerPeakFinderComponent spawning new instance" << endl;
return new AliHLTPHOSRawAnalyzerPeakFinderComponent;
}