AliAttribObj.h and AliAttribObj.cxx added into CVS (I forgot them in the
authornick <nick@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 2 Oct 2003 17:56:19 +0000 (17:56 +0000)
committernick <nick@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 2 Oct 2003 17:56:19 +0000 (17:56 +0000)
previous commit).

RALICE/AliAttribObj.cxx [new file with mode: 0644]
RALICE/AliAttribObj.h [new file with mode: 0644]

diff --git a/RALICE/AliAttribObj.cxx b/RALICE/AliAttribObj.cxx
new file mode 100644 (file)
index 0000000..5bb872d
--- /dev/null
@@ -0,0 +1,85 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * 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.                  *
+ **************************************************************************/
+
+// $Id$
+
+///////////////////////////////////////////////////////////////////////////
+// Class AliAttribObj
+// Generic handling of detector signal (calibration) attributes.
+//
+// This class is meant to provide an AliAttrib object which is derived
+// from TObject such that it can be stored in e.g. TObjArray etc...
+// and that it can be written out using the ROOT I/O machinery.
+//
+// Example :
+// ---------
+// AliAttrib a;
+// a.SetGain(250.7);
+// a.SetGain(1340,3);
+// a.SetEdgeOn(3);
+// a.SetOffset(-22.5,2);
+// a.SetDead(1);
+// a.Data();
+//
+// AliAttribObj b(a);
+// b.Data();
+//
+// AliAttribObj c;
+// c.Load(a);
+// c.Data();
+//
+//--- Author: Nick van Eijndhoven 18-sep-2003 Utrecht University
+//- Modified: NvE $Date$ Utrecht University
+///////////////////////////////////////////////////////////////////////////
+
+#include "AliAttribObj.h"
+ClassImp(AliAttribObj) // Class implementation to enable ROOT I/O
+AliAttribObj::AliAttribObj() : TObject(),AliAttrib()
+{
+// Creation of an AliAttrib object and initialisation of parameters.
+// Several values of the same type (e.g. gain) can be stored in different slots.
+// If needed, the storage for values will be expanded automatically
+// when entering values.
+}
+///////////////////////////////////////////////////////////////////////////
+AliAttribObj::AliAttribObj(AliAttrib& a) : TObject(),AliAttrib(a)
+{
+// Creation of an AliAttrib object and initialisation of parameters.
+// All attributes are initialised to the values of the input AliAttrib.
+}
+///////////////////////////////////////////////////////////////////////////
+AliAttribObj::~AliAttribObj()
+{
+// Destructor to delete dynamically allocated memory
+}
+///////////////////////////////////////////////////////////////////////////
+AliAttribObj::AliAttribObj(AliAttribObj& a) : TObject(a),AliAttrib(a)
+{
+// Copy constructor
+}
+///////////////////////////////////////////////////////////////////////////
+AliAttribObj* AliAttribObj::MakeCopy(AliAttribObj& a)
+{
+// Make a deep copy of the input object and provide the pointer to the copy.
+// This memberfunction enables automatic creation of new objects of the
+// correct type depending on the argument type, a feature which may be very useful
+// for containers when adding objects in case the container owns the objects.
+
+ AliAttribObj* att=new AliAttribObj(a);
+ return att;
+}
+///////////////////////////////////////////////////////////////////////////
diff --git a/RALICE/AliAttribObj.h b/RALICE/AliAttribObj.h
new file mode 100644 (file)
index 0000000..2b3a282
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef ALIATTRIBOBJ_H
+#define ALIATTRIBOBJ_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+// $Id$
+
+#include "TObject.h"
+
+#include "AliAttrib.h"
+
+class AliAttribObj : public TObject,public AliAttrib
+{
+ public:
+  AliAttribObj();                                  // Default constructor
+  AliAttribObj(AliAttrib& a);                      // Constructor
+  virtual ~AliAttribObj();                         // Destructor
+  AliAttribObj(AliAttribObj& a);                   // Copy constructor
+  virtual AliAttribObj* MakeCopy(AliAttribObj& a); // Make a deep copy and provide its pointer
+
+ ClassDef(AliAttribObj,1) // Generic handling of detector signal (calibration) attributes.
+};
+#endif