]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STRUCT/AliALIFE.h
Message commented out
[u/mrichter/AliRoot.git] / STRUCT / AliALIFE.h
index cbda6ec48e3e73a168f074d3bd8a50842ab13b65..1289cce158bd7adeb31b0d6141bbd89484e1b0db 100644 (file)
@@ -12,41 +12,52 @@ class AliALIFE : public  TObject {
  public:
     AliALIFE(const char *name1, const char *name2);
     AliALIFE();    
-    AliALIFE(const AliALIFE &rh) {
-      // copy ctor requested by coding convention but not needed
-      Fatal("Copy constructor","not implemented");
+    AliALIFE(const AliALIFE &rhs) : TObject(rhs) {
+       rhs.Copy(*this);
     }
     virtual ~AliALIFE() {}
     void Cylinder(Float_t rmin, Float_t rmax,
                  Float_t zmin, Float_t zmax,
                  Float_t pos[3],
-                 char* Material, char* Field="MF", char* Cuts="$UNSHIELDED");
+                 const char* Material, 
+                 const char* Field="MF", 
+                 const char* Cuts="$UNSHIELDED");
     void OnionCylinder(Float_t* r, Int_t nr, Float_t zmin, Float_t zmax,
                       Float_t pos[3],
-                      char** Materials, char** Fields=0, char** Cuts=0);
+                      const char** Materials,
+                      const char** Fields=0,
+                      const char** Cuts=0);
     
     void Cone(Float_t rmin1, Float_t rmin2,
              Float_t rmax1, Float_t rmax2,
              Float_t zmin, Float_t zmax,
              Float_t pos[3],
-             char* Material, char* Field="MF", char* Cuts="$UNSHIELDED");
+             const char* Material, 
+             const char* Field="MF", 
+             const char* Cuts="$UNSHIELDED");
     
     void OnionCone(Float_t* r1, Float_t* r2, Int_t nr,
                   Float_t zmin, Float_t zmax,
                   Float_t pos[3],
-                  char** Materials, char** Fields=0, char** Cuts=0);
+                  const char** Materials,
+                  const char** Fields=0,
+                  const char** Cuts=0);
 
     void PolyCone(Float_t* rmin, Float_t* rmax, Float_t* z, Int_t nz,
                  Float_t pos[3], 
-                 char* Material, char* Field="MF", char* Cuts="$UNSHIELDED");
+                 const char* Material, 
+                 const char* Field="MF", 
+                 const char* Cuts="$UNSHIELDED");
 
     void OnionPolyCone(Float_t** r , Float_t* z, Int_t nr, Int_t nz,
                       Float_t pos[3], 
-                      char** Materials, char** Fields=0, char** Cuts=0);
+                      const char** Materials,
+                      const char** Fields=0,
+                      const char** Cuts=0);
     
-    void Comment(char* Comment);
+    void Comment(const char* Comment);
 
-    void Finish();
+    void Finish(Bool_t remove = 0);
 
     void SetDefaultVolume(TString vol1, TString vol2) 
        {fDefaultVolume1=vol1; fDefaultVolume2=vol2;}
@@ -66,12 +77,12 @@ class AliALIFE : public  TObject {
  private:
     void BodyHeader();
     void VolumeHeader();
-    AliALIFE & operator = (const AliALIFE &) {
-      // assignement operator requested by coding convention but not needed
-      return *this;
-    }
-    
+    void Copy(TObject &alife) const;
 
+    AliALIFE & operator = (const AliALIFE &rhs) {
+       rhs.Copy(*this);
+       return (*this);
+    }
    ClassDef(AliALIFE,1)
 };
 #endif