]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSvPPRasymmFMD.h
Fixes for Coverity warnings
[u/mrichter/AliRoot.git] / ITS / AliITSvPPRasymmFMD.h
index 91938edebf103287e7946b5edbcc590d08e1a5ea..2b8e66c2afbdbec82ac8eca10640ef469b116fad 100644 (file)
 /////////////////////////////////////////////////////////
  
 #include "AliITS.h"
+#include "AliITSInitGeometry.h"
+
 class AliITSvPPRasymmFMD : public AliITS {
 
  public:
     AliITSvPPRasymmFMD();
+    AliITSvPPRasymmFMD(const Char_t *title); // Standard Constructor
+    // Extended Standard constructor
     AliITSvPPRasymmFMD(const char *name, const char *title);
-    AliITSvPPRasymmFMD(const AliITSvPPRasymmFMD &source); // copy constructor
-    AliITSvPPRasymmFMD& operator=(const AliITSvPPRasymmFMD &source); // assignment operator
     virtual       ~AliITSvPPRasymmFMD() ;
-    virtual void   BuildGeometry();
     virtual void   CreateGeometry();
     virtual void   CreateMaterials();
     virtual Int_t  IsVersion() const {// returns the ITS version number 
                                       return 10;} 
     virtual void   Init(); 
     virtual void   SetDefaults();
-    virtual void   DrawModule();
+    virtual void   DrawModule() const;
     virtual void   StepManager();
-    virtual void   SetWriteDet(Bool_t det=kTRUE){ // set .det write
-                                                fGeomDetOut = det;}
-    virtual void   SetWriteDet(const char *f){ // set write file
-                                    strncpy(fWrite,f,60);fGeomDetOut = kTRUE;}
-    virtual void   SetReadDet(Bool_t det=kTRUE){ //set .det read
-                                               fGeomDetIn = det;}
-    virtual void   SetReadDet(const char *f){ // set read file
-                                      strncpy(fRead,f,60);fGeomDetIn = kTRUE;}
-    virtual void   SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file
-                                                 fEuclidOut = euclid;}
-    virtual void   SetEUCLIDFileName(const char *f){ // set write file
-                            fEuclidGeometry=f;fEuclidOut = kTRUE;}
-    virtual void   SetMinorVersion(Int_t v=22){ // Choose between existing minor versions
+    virtual void   AddAlignableVolumes() const;
+    virtual void   SetMinorVersion(Int_t v=2){ // Choose between existing minor versions
        fMinorVersion = v;}
-    virtual void   SetThicknessDet1(Float_t v=300.){ 
+    virtual void   SetThicknessDet1(Float_t v=200.){ 
         // Set detector thickness in layer 1
         fDet1 = v;}
-    virtual void   SetThicknessDet2(Float_t v=300.){ 
+    virtual void   SetThicknessDet2(Float_t v=200.){ 
         // Set detector thickness in layer 2
         fDet2 = v;}
-    virtual void   SetThicknessChip1(Float_t v=300.){ 
+    virtual void   SetThicknessChip1(Float_t v=150.){ 
         // Set chip thickness in layer 1
         fChip1 = v;}            
-    virtual void   SetThicknessChip2(Float_t v=300.){ 
+    virtual void   SetThicknessChip2(Float_t v=150.){ 
         // Set chip thickness in layer 2
         fChip2 = v;}
-    virtual void   SetRails(Int_t v=1){ 
+    virtual void   SetRails(Int_t v=0){ 
         // Set flag for rails
         fRails = v;}    
-    virtual void   SetCoolingFluid(Int_t v=1){ 
+    virtual void   SetCoolingFluid(Int_t v=1){
         // Set flag for cooling fluid
-        fFluid = v;}            
-    virtual Bool_t GetEUCLID(){return fEuclidOut;}// returns value Euclid flag.
-    virtual const char  *GetEULIIDFileName() const{ // return .euc file name
-                                      return fEuclidGeometry.Data();}
-    virtual Bool_t GetWriteDet() { // returns value GeomDetOut flag.
-                                 return fGeomDetOut;}
-    virtual Bool_t GetReadDet() { // returns value GeomDetIn flag.
-                                return fGeomDetIn;}
-    virtual char  *GetReadDetFileName(){ // return .det read file name
-                 if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;}
-    virtual char  *GetWriteDetFileName(){ // return .det write file name
-               if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;}
-    virtual Int_t GetMajorVersion(){// return Major Version Number
+        fFluid = v;}
+    virtual void SetDensityServicesByThickness(){// uses services density
+       // calculation based on the thickness of the services.
+       fByThick = kTRUE;}
+    virtual void SetDensityServicesByMass(){// uses services density
+       // calculation based on the Mass of the services.
+       fByThick = kFALSE;}
+    virtual Int_t GetMajorVersion() const {// return Major Version Number
        return fMajorVersion;}
-    virtual Int_t GetMinorVersion(){// return Major Version Number
+    virtual Int_t GetMinorVersion() const {// return Major Version Number
        return fMinorVersion;}
-    virtual Float_t GetThicknessDet1(){ 
+    virtual Float_t GetThicknessDet1() const 
         // Get detector thickness in layer 1
         return fDet1;}
-    virtual Float_t GetThicknessDet2(){ 
+    virtual Float_t GetThicknessDet2() const 
         // Get detector thickness in layer 2
         return fDet2;}
-    virtual Float_t GetThicknessChip1(){ 
+    virtual Float_t GetThicknessChip1() const 
         // Get chip thickness in layer 1
         return fChip1;}                 
-    virtual Float_t GetThicknessChip2(){ 
+    virtual Float_t GetThicknessChip2()const 
         // Get chip thickness in layer 2
         return fChip2;}
-    virtual Int_t GetRails()
+    virtual Int_t GetRails() const {
         // Get flag for rails
-        return fRails;}         
-    virtual Int_t GetCoolingFluid(){ 
+        return fRails;}
+    virtual Int_t GetCoolingFluid() const
         // Get flag for cooling fluid
-        return fFluid;}                         
-                
+        return fFluid;}
+    //
+    // Print class in ascii form to stream
+    virtual void PrintAscii(ostream *os)const;
+    // Read in class in ascii form from stream
+    virtual void ReadAscii(istream *is);
+
  private:
+    // copy constructor. Will not copy class, just gives warning.
+    AliITSvPPRasymmFMD(const AliITSvPPRasymmFMD &source);
+    // assignment operator. Will not copy class, just gives warning.
+    AliITSvPPRasymmFMD& operator=(const AliITSvPPRasymmFMD &source);
     void InitAliITSgeom();
+    Bool_t IsDensityServicesByThickness()const {return fByThick;}
+    // Return Mother volume ID
+    Int_t GetMotherID()const {return fIDMother;}
+    // Return AliITSInitGeometry object
+    const AliITSInitGeometry & GetGeomInit()const{return fIgm;}
 
-    // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule.
-    Bool_t fEuclidOut;        // Flag to write geometry in euclid format
-    Bool_t fGeomDetOut;       // Flag to write .det file out
-    Bool_t fGeomDetIn;        // Flag to read .det file or directly from Geat.
-    Int_t  fMajorVersion;     // Major version number == IsVersion
-    Int_t  fMinorVersion;     // Minor version number
-    char   fEuclidGeomDet[60];// file where detector transormation are define.
-    char   fRead[60];         //! file name to read .det file
-    char   fWrite[60];        //! file name to write .det file
-    Float_t  fDet1;          // thickness of detector in SPD layer 1
-    Float_t  fDet2;          // thickness of detector in SPD layer 2
-    Float_t  fChip1;         // thickness of chip in SPD layer 1   
-    Float_t  fChip2;         // thickness of chip in SPD layer 2   
-    Int_t    fRails;          // flag to switch rails on (=1) and off (=0)
-    Int_t    fFluid;          // flag to switch between water (=1) and freon (=0)
-    Int_t fIDMother;          //! ITS Mother Volume id.
+    Bool_t  fByThick;       // Flag to use services materials by thickness
+                            // ture, or mass false.
+    Int_t   fMajorVersion;  // Major version number == IsVersion
+    Int_t   fMinorVersion;  // Minor version number
+    Float_t fDet1;         // thickness of detector in SPD layer 1
+    Float_t fDet2;          // thickness of detector in SPD layer 2
+    Float_t fChip1;         // thickness of chip in SPD layer 1   
+    Float_t fChip2;         // thickness of chip in SPD layer 2   
+    Int_t   fRails;         // flag to switch rails on (=1) and off (=0)
+    Int_t   fFluid;         // flag to switch between water (=1) and freon (=0)
+    Int_t   fIDMother;      //! ITS Mother Volume id.
+    AliITSInitGeometry fIgm;//! Get access to decoding and AliITSgeom init functins
 
-    ClassDef(AliITSvPPRasymmFMD,1)  //Hits manager for set:ITS version 8 
-                                 // PPR detailed Geometry asymmetric
+    ClassDef(AliITSvPPRasymmFMD,5) //Hits manager for set:ITS version 10
+                                   // PPR detailed Geometry asymmetric
 };
+// Input and output function for standard C++ input/output.
+ostream &operator<<(ostream &os,const AliITSvPPRasymmFMD &s);
+istream &operator>>(istream &is,AliITSvPPRasymmFMD &s);
+
 #endif