Index: fact/tools/pyscripts/sandbox/kraehenb/calfits.h
===================================================================
--- fact/tools/pyscripts/sandbox/kraehenb/calfits.h	(revision 13416)
+++ fact/tools/pyscripts/sandbox/kraehenb/calfits.h	(revision 13426)
@@ -66,7 +66,7 @@
 	
 	//Calibration variables
-	vector<float> calib_baselinemean;
-	vector<float> calib_gainmean;
-	vector<float> calib_triggeroffsetmean;
+	float* calib_baselinemean;
+	float* calib_gainmean;
+	float* calib_triggeroffsetmean;
 	//ToDo: use arrays of size 1440x1024 (x2 for wrap-arounds) and read all variables into those
 	
@@ -74,8 +74,7 @@
 	UInt_t event_id;
 	UShort_t event_triggertype;
-	vector<int16_t> event_data;
-	vector<int16_t> event_offset;
-	vector<int32_t> event_boardtimes;
-	vector<float> event_caldata; //Vector for calibrated event
+	int16_t* event_data;
+	int16_t* event_offset;
+	int32_t* event_boardtimes;
 	double* npcaldata;
 	
@@ -118,10 +117,10 @@
 		//Read the calibration data
 //		std::cout << "...Reading calibration data..." << std::endl;
-		calib_baselinemean.resize(calibfile.GetN("BaselineMean"),0);
-		calibfile.SetVecAddress("BaselineMean", calib_baselinemean);
-		calib_gainmean.resize(calibfile.GetN("GainMean"),0);
-		calibfile.SetVecAddress("GainMean", calib_gainmean);
-		calib_triggeroffsetmean.resize(calibfile.GetN("TriggerOffsetMean"),0);
-		calibfile.SetVecAddress("TriggerOffsetMean", calib_triggeroffsetmean);
+		calib_baselinemean = new float[calibfile.GetN("BaselineMean")];
+		calibfile.SetPtrAddress("BaselineMean", calib_baselinemean, calibfile.GetN("BaselineMean"));
+		calib_gainmean = new float[calibfile.GetN("GainMean")];
+		calibfile.SetPtrAddress("GainMean", calib_gainmean, calibfile.GetN("GainMean"));
+		calib_triggeroffsetmean = new float[calibfile.GetN("TriggerOffsetMean")];
+		calibfile.SetPtrAddress("TriggerOffsetMean", calib_triggeroffsetmean, calibfile.GetN("TriggerOffsetMean"));
 		calibfile.GetRow(0);
 		
@@ -131,13 +130,22 @@
 		datafile.SetRefAddress("TriggerType", event_triggertype);
 		
-		event_data.resize(data_ndata,0);
-		event_caldata.resize(data_ndata,0);
-		datafile.SetVecAddress("Data", event_data);
+		event_data = new int16_t[data_ndata];
+		datafile.SetPtrAddress("Data", event_data, data_ndata);
 		
-		event_offset.resize(datafile.GetN("StartCellData"),0);
-		datafile.SetVecAddress("StartCellData", event_offset);
+		event_offset = new int16_t[datafile.GetN("StartCellData")];
+		datafile.SetPtrAddress("StartCellData", event_offset, datafile.GetN("StartCellData"));
 		
-		event_boardtimes.resize(datafile.GetN("BoardTime"),0);
-		datafile.SetVecAddress("BoardTime", event_boardtimes);
+		event_boardtimes = new int32_t[datafile.GetN("BoardTime")];
+		datafile.SetPtrAddress("BoardTime", event_boardtimes, datafile.GetN("BoardTime"));
+	}
+	
+	~CalFits()
+	{
+		delete[] calib_baselinemean;
+		delete[] calib_gainmean;
+		delete[] calib_triggeroffsetmean;
+		delete[] event_data;
+		delete[] event_offset;
+		delete[] event_boardtimes;
 	}
 	
@@ -164,5 +172,4 @@
 					drs_calib_offset = (slice+event_offset[pixel])%calib_blm_size;
 					npcaldata[pixel*data_nroi+slice] = double((event_data[pixel*data_nroi+slice]*2000./4096.-calib_baselinemean[pixel*calib_blm_size+drs_calib_offset]-calib_triggeroffsetmean[pixel*data_nroi+slice])/calib_gainmean[pixel*calib_blm_size+drs_calib_offset]*1907.35);
-//					event_caldata[pixel*data_nroi+slice] = float((event_data[pixel*data_nroi+slice]*2000./4096.-calib_baselinemean[pixel*calib_blm_size+drs_calib_offset]-calib_triggeroffsetmean[pixel*data_nroi+slice])/calib_gainmean[pixel*calib_blm_size+drs_calib_offset]*1907.35);
 					//Note: data_nroi=calib_nroi, calib_blm_size=calib_gm_size
 				}
