/[PAMELA software]/DarthVader/CalorimeterLevel2/src/CaloLevel1.cpp
ViewVC logotype

Diff of /DarthVader/CalorimeterLevel2/src/CaloLevel1.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by mocchiut, Fri Mar 30 11:22:07 2007 UTC revision 1.8 by mocchiut, Fri Mar 30 14:37:44 2007 UTC
# Line 8  Line 8 
8  ClassImp(CaloStrip);  ClassImp(CaloStrip);
9  ClassImp(CaloLevel1);  ClassImp(CaloLevel1);
10    
11    Float_t CaloStrip::UXal = CTX;
12    Float_t CaloStrip::UYal = CTY;
13    Float_t CaloStrip::UZal = CTZ;
14    Bool_t CaloStrip::paramload  = false;
15    
16  /**  /**
17   * CaloStrip default constructor   * CaloStrip default constructor
18  **/  **/
# Line 24  CaloStrip::CaloStrip(Bool_t mechalig) { Line 29  CaloStrip::CaloStrip(Bool_t mechalig) {
29    this->Clear();    this->Clear();
30    if ( mechalig ){    if ( mechalig ){
31      ismech = true;      ismech = true;
32        paramload = true;
33      UXal = MECHCTX;      UXal = MECHCTX;
34      UYal = MECHCTY;      UYal = MECHCTY;
35      UZal = MECHCTZ;      UZal = MECHCTZ;
# Line 51  CaloStrip::CaloStrip(CaloLevel1 *calo, B Line 57  CaloStrip::CaloStrip(CaloLevel1 *calo, B
57    this->Clear();    this->Clear();
58    if ( mechalig ){    if ( mechalig ){
59      ismech = true;      ismech = true;
60        paramload = true;
61      UXal = MECHCTX;      UXal = MECHCTX;
62      UYal = MECHCTY;      UYal = MECHCTY;
63      UZal = MECHCTZ;      UZal = MECHCTZ;
# Line 78  void CaloStrip::Clear() {   Line 85  void CaloStrip::Clear() {  
85   **/   **/
86  void CaloStrip::UseStandardAlig(){  void CaloStrip::UseStandardAlig(){
87    //    //
88    ismech = false;    if ( !paramload ){
   //  
   stringstream aligfile;  
   Int_t error = 0;  
   FILE *f = 0;  
   ifstream badfile;  
   GL_PARAM *glparam = new GL_PARAM();  
   //  
   TString host = "mysql://localhost/pamelaprod";  
   TString user = "anonymous";  
   TString psw = "";  
   const char *pamdbhost=gSystem->Getenv("PAM_DBHOST");  
   const char *pamdbuser=gSystem->Getenv("PAM_DBUSER");  
   const char *pamdbpsw=gSystem->Getenv("PAM_DBPSW");  
   if ( !pamdbhost ) pamdbhost = "";  
   if ( !pamdbuser ) pamdbuser = "";  
   if ( !pamdbpsw ) pamdbpsw = "";  
   if ( strcmp(pamdbhost,"") ) host = pamdbhost;  
   if ( strcmp(pamdbuser,"") ) user = pamdbuser;  
   if ( strcmp(pamdbpsw,"") ) psw = pamdbpsw;  
   TSQLServer *dbc = TSQLServer::Connect(host.Data(),user.Data(),psw.Data());  
   //  
   UXal = 0.;  
   UYal = 0.;  
   UZal = 0.;  
   //  
   if ( dbc ){  
     //  
     // determine where I can find calorimeter ADC to MIP conversion file    
     //  
     printf(" Querying DB for calorimeter parameters files...\n");  
89      //      //
90        paramload = true;
91        ismech = false;
92      //      //
93        stringstream aligfile;
94        Int_t error = 0;
95        FILE *f = 0;
96        ifstream badfile;
97        GL_PARAM *glparam = new GL_PARAM();
98        //
99        TString host = "mysql://localhost/pamelaprod";
100        TString user = "anonymous";
101        TString psw = "";
102        const char *pamdbhost=gSystem->Getenv("PAM_DBHOST");
103        const char *pamdbuser=gSystem->Getenv("PAM_DBUSER");
104        const char *pamdbpsw=gSystem->Getenv("PAM_DBPSW");
105        if ( !pamdbhost ) pamdbhost = "";
106        if ( !pamdbuser ) pamdbuser = "";
107        if ( !pamdbpsw ) pamdbpsw = "";
108        if ( strcmp(pamdbhost,"") ) host = pamdbhost;
109        if ( strcmp(pamdbuser,"") ) user = pamdbuser;
110        if ( strcmp(pamdbpsw,"") ) psw = pamdbpsw;
111        TSQLServer *dbc = TSQLServer::Connect(host.Data(),user.Data(),psw.Data());
112        //
113        UXal = 0.;
114        UYal = 0.;
115        UZal = 0.;
116      //      //
117      error = 0;      if ( dbc ){
118      error = glparam->Query_GL_PARAM(1000,102,dbc);        //
119      if ( error >= 0 ){        // determine where I can find calorimeter ADC to MIP conversion file  
120          //
121          printf(" Querying DB for calorimeter parameters files...\n");
122        //        //
       aligfile.str("");  
       aligfile << glparam->PATH.Data() << "/";  
       aligfile << glparam->NAME.Data();  
123        //        //
124        printf("\n Using parameter file: \n %s \n",aligfile.str().c_str());        //
125        f = fopen(aligfile.str().c_str(),"rb");        error = 0;
126        if ( f ){        error = glparam->Query_GL_PARAM(1000,102,dbc);
127          if ( error >= 0 ){
128            //
129            aligfile.str("");
130            aligfile << glparam->PATH.Data() << "/";
131            aligfile << glparam->NAME.Data();
132          //          //
133          fread(&UXal,sizeof(UXal),1,f);          printf("\n Using parameter file: \n %s \n",aligfile.str().c_str());
134          fread(&UYal,sizeof(UYal),1,f);          f = fopen(aligfile.str().c_str(),"rb");
135          fread(&UZal,sizeof(UZal),1,f);          if ( f ){
136              //
137              fread(&UXal,sizeof(UXal),1,f);
138              fread(&UYal,sizeof(UYal),1,f);
139              fread(&UZal,sizeof(UZal),1,f);
140              //
141              fclose(f);
142            };
143          //          //
         fclose(f);  
144        };        };
145          dbc->Close();
146        };
147        if ( !UXal ){
148        //        //
149          printf(" No able to query DB for calorimeter parameters files\n Using hard-coded parameters \n");
150          UXal = CTX;
151          UYal = CTY;
152          UZal = CTZ;
153      };      };
154      dbc->Close();      //  
   };  
   if ( !UXal ){  
     //  
     printf(" No able to query DB for calorimeter parameters files\n Using hard-coded parameters \n");  
     UXal = CTX;  
     UYal = CTY;  
     UZal = CTZ;  
155    };    };
156    //    //
157  };  };

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.23